Access Presto Data in Mule Applications Using the CData JDBC Driver



Create a simple Mule Application that uses HTTP and SQL with CData JDBC drivers to create a JSON endpoint for Presto data.

The CData JDBC Driver for Presto connects Presto data to Mule applications enabling read , write, update, and delete functionality with familiar SQL queries. The JDBC Driver allows users to easily create Mule applications to backup, transform, report, and analyze Presto data.

This article demonstrates how to use the CData JDBC Driver for Presto inside of a Mule project to create a Web interface for Presto data. The application created allows you to request Presto data using an HTTP request and have the results returned as JSON. The exact same procedure outlined below can be used with any CData JDBC Driver to create a Web interface for the 200+ available data sources.

About Presto Data Integration

Accessing and integrating live data from Trino and Presto SQL engines has never been easier with CData. Customers rely on CData connectivity to:

  • Access data from Trino v345 and above (formerly PrestoSQL) and Presto v0.242 and above (formerly PrestoDB)
  • Read and write access all of the data underlying your Trino or Presto instances
  • Optimized query generation for maximum throughput.

Presto and Trino allow users to access a variety of underlying data sources through a single endpoint. When paired with CData connectivity, users get pure, SQL-92 access to their instances, allowing them to integrate business data with a data warehouse or easily access live data directly from their preferred tools, like Power BI and Tableau.

In many cases, CData's live connectivity surpasses the native import functionality available in tools. One customer was unable to effectively use Power BI due to the size of the datasets needed for reporting. When the company implemented the CData Power BI Connector for Presto they were able to generate reports in real-time using the DirectQuery connection mode.


Getting Started


  1. Create a new Mule Project in Anypoint Studio.
  2. Add an HTTP Connector to the Message Flow.
  3. Configure the address for the HTTP Connector.
  4. Add a Database Select Connector to the same flow, after the HTTP Connector.
  5. Create a new Connection (or edit an existing one) and configure the properties.
    • Set Connection to "Generic Connection"
    • Select the CData JDBC Driver JAR file in the Required Libraries section (e.g. cdata.jdbc.presto.jar).
    • Set the URL to the connection string for Presto

      Set the Server and Port connection properties to connect, in addition to any authentication properties that may be required.

      To enable TLS/SSL, set UseSSL to true.

      Authenticating with LDAP

      In order to authenticate with LDAP, set the following connection properties:

      • AuthScheme: Set this to LDAP.
      • User: The username being authenticated with in LDAP.
      • Password: The password associated with the User you are authenticating against LDAP with.

      Authenticating with Kerberos

      In order to authenticate with KERBEROS, set the following connection properties:

      • AuthScheme: Set this to KERBEROS.
      • KerberosKDC: The Kerberos Key Distribution Center (KDC) service used to authenticate the user.
      • KerberosRealm: The Kerberos Realm used to authenticate the user with.
      • KerberosSPN: The Service Principal Name for the Kerberos Domain Controller.
      • KerberosKeytabFile: The Keytab file containing your pairs of Kerberos principals and encrypted keys.
      • User: The user who is authenticating to Kerberos.
      • Password: The password used to authenticate to Kerberos.

      Built-in Connection String Designer

      For assistance in constructing the JDBC URL, use the connection string designer built into the Presto JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.

      		java -jar cdata.jdbc.presto.jar
      		

      Fill in the connection properties and copy the connection string to the clipboard.

    • Set the Driver class name to cdata.jdbc.presto.PrestoDriver.
    • Click Test Connection.
  6. Set the SQL Query Text to a SQL query to request Presto data. For example:
    SELECT FirstName, LastName FROM Customer WHERE Id = '123456789'
  7. Add a Transform Message Component to the flow.
  8. Set the Output script to the following to convert the payload to JSON:
    %dw 2.0
    output application/json
    ---
    payload
            
  9. To view your Presto data, navigate to the address you configured for the HTTP Connector (localhost:8081 by default): http://localhost:8081. The Presto data is available as JSON in your Web browser and any other tools capable of consuming JSON endpoints.

At this point, you have a simple Web interface for working with Presto data (as JSON data) in custom apps and a wide variety of BI, reporting, and ETL tools. Download a free, 30 day trial of the JDBC Driver for Presto and see the CData difference in your Mule Applications today.

Ready to get started?

Download a free trial of the Presto Driver to get started:

 Download Now

Learn more:

Presto Icon Presto JDBC Driver

Rapidly create and deploy powerful Java applications that integrate with Presto.