Connectors → Presto

About Presto

Presto is a scalable, open source SQL query engine designed for interactive analytics. It is designed to enable commercial data source speed while scaling with large organizations. Presto is capable of using a single query to combine data from multiple sources without sacrificing responsiveness. Presto acts as an interface, or query service, between Incorta and multiple data sources. As an Incorta Administrator, you only connect to Presto, as a single data source, and gain access to all the data sources Presto is connected to.

About the Presto Connector

The Presto connector supports the following Incorta specific functionality:

FeatureSupported
Chunking
Data Agent
Encryption at Ingest
Incremental Load
Multi-Source
OAuth
Performance Optimized
Remote
Single-Source
Spark Extraction
Webhook Callbacks

Steps to connect Presto and Incorta

To connect Presto and Incorta, here are the high level steps, tools, and procedures:

Create an external data source

Here are the steps to create a external data source with the Presto connector:

  • Sign in to the Incorta Direct Data Platform™.
  • In the Navigation bar, select Data.
  • In the Action bar, select + NewAdd Data Source.
  • In the Choose a Data Source dialog, in Query Service, select Presto.
  • In the New Data Source dialog, specify the applicable connector properties.
  • To test, select Test Connection.
  • Select Ok to save your changes.

Presto connector properties

Here are the properties for the Presto connector:

PropertyControlDescription
Data Source Nametext boxEnter the name of the data source
Usernametext boxEnter the Presto user email
Passwordtext boxEnter the Presto password
Connection Pooltext boxEnter the connection pool. The default is 30.
Connection Stringtext boxEnter the connection string. The format is: jdbc:presto://<PRESTO_HOST>:<PRESTO_PORT>/<CATALOG>/<SCHEMA>
The default port is 8080.
Connection Propertiestext boxOptionally enter connector properties for a custom connection to Presto in the format: propertyName=propertyValue, where each connector property is on a new line.
The available connector properties are specified by presto-jdbc-0.245.jar. Refer to the Presto JDBC Driver Documentation for reference.
Use Data AgenttoggleEnable using a data agent to securely ingest data from an external data source that is behind a firewall.
For more information, please review Tools → Data Agent and Tools → Data Manager.
Data Agentdrop down listEnable Use Data Agent to configure this property. Select from the data agents created in the tenant, if any.
Important: Data Agent

A data agent is a service that runs on a remote host. It is also a data agent object in the Data Manager for a given tenant. An authentication file shared between the data agent object and the data agent service enables an authorized connection without using a VPN or SSH tunnel. With a data agent, you can securely extract data from one or more databases behind a firewall to an Incorta cluster. Your Incorta cluster can reside on-premises or in the cloud. A CMC Administrator must enable and configure an Incorta cluster to support the use of Data Agents. Only a Tenant Administrator (Super User) or user that belongs to a group with the SuperRole role for a given tenant can create a data agent that connects to a data agent service. To learn more, see Concepts → Data Agent and Tools → Data Agent.

Presto Connection String and Data Sources

When you create a connection string to Presto, the URL format supports different access levels to Presto’s data sources. You utilize three aspects of the connection string to Presto to determine the source and scope of the data source.

Standard on most connection strings, you enter the host and port values to connect to Presto. You then can optionally enter the catalog and schema. Without the catalog and schema values, Incorta will connect to the entire Presto data source. The Presto catalog value references a specific data source and all of its schemas. Catalogs are commonly sources such as Apache Hive, MySQL, etc. If you wish to constrain the data source to a specific schema, apply the schema value to the connection string. This will constrain the visibility of data to Incorta down to just the associated schema.

Building a schema from multiple Presto data sources

Since Presto is a query service, you can use the Schema Wizard to build a schema sourced from multiple Presto data sources. If you use a connection string without a catalog or schema, you can build a schema from multiple catalog sources.

Create a schema with the Schema Wizard

Here are the steps to create a Presto schema with the Schema Wizard:

  • Sign in to the Incorta Direct Data Platform.
  • In the Navigation bar, select Schema.
  • In the Action bar, select + New → Schema Wizard.
  • In (1) Choose a Source, specify the following:
    • For Enter a name, enter the schema name.
    • For Select a Datasource, select the Presto external data source.
    • Optionally create a description.
  • In the Schema Wizard footer, select Next.
  • In (2) Manage Tables, in the Data Panel, first select the name of the Data Source, and then check the Select All checkbox.
  • In the Schema Wizard footer, select Next.
  • In (3) Finalize, in the Schema Wizard footer, select Create Schema.
Important

The Schema Wizard will not be able to identify foreign key relationships, or joins, between tables in Presto. After generating the Schema, you will need to manually create the joins in the Schema Designer. The Schema Wizard will still be very helpful in clearly identifying the tables for the desired schema.

Create a schema with the Schema Designer

Here are the steps to create a Presto schema using the Schema Designer:

  • Sign in to the Incorta Direct Data Platform.
  • In the Navigation bar, select Schema.
  • In the Action bar, select + New → Create Schema.
  • In Name, specify the schema name, and select Save.
  • In Start adding tables to your schema, select SQL Database.
  • In the Data Source dialog, specify the Presto table data source properties.
  • Select Add.
  • In the Table Editor, in the Table Summary section, enter the table name.
  • To save your changes, select Done in the Action bar.

Presto table data source properties

For a schema table in Incorta, you can define the following Presto specific data source properties as follows:

PropertyControlDescription
Typedrop down listDefault is SQL Database
Data Sourcedrop down listSelect the Presto external data source
IncrementaltoggleEnable the incremental load configuration for the schema table.
Fetch Sizetext boxUsed for performance improvement, fetch size defines the number of records that will be retrieved from the database in each batch until all records are retrieved. The default is 5000.
Querytext boxEnter the SQL query to retrieve data from the Presto database
Update Querytext boxEnable Incremental to configure this property. Enter the SQL update query to use during an incremental load.
Chunking Methoddrop down listChunking methods allow for parallel extraction of large tables. The default is No Chunking. There are two chunking methods:
  ●   By Size of Chunking (Single Table)
  ●   By Date/Timestamp
Chunk Sizetext boxSelect By Size of Chunking for the Chunking Method to set this property. Enter the number of records to extract in each chunk in relation to the Fetch Size. The default is 3 times the Fetch Size.
Order Columndrop down listSelect By Size of Chunking for the Chunking Method to set this property. Select a column in the source table you want to order by before chunking. It's typically an ID column and it must be numeric.
Upper Bound for Order Columntext boxOptional. Enter the maximum value for the order column.
Lower Bound for Order Columntext boxOptional. Enter the minimum value for the order column.
Order Column [Date/Timestamp]drop down listSelect By Date/Timestamp for the Chunking Method to set this property. Select a column in the source table you want to order by before chunking. It should be a Date/Timestamp column.
Chunk Perioddrop down listSelect the chunk period that will be used in dividing chunks:
  ●   Daily
  ●   Weekly (default)
  ●  Monthly
  ●  Yearly
  ●  Custom
Number of daystext boxSelect Custom for the Chunk Period to set this property. Enter the chunking period in days
CallbacktoggleEnable post extraction callback, that is, enable callback on the data source data set(s) by invoking a certain callback URL with parameters containing details about the load job.
Callback URLtext boxEnable Callback to configure this property. Specify the callback URL.

View the schema diagram with the Schema Diagram Viewer

Here are the steps to view the schema diagram using the Schema Diagram Viewer:

  • Sign in to the Incorta Direct Data Platform.
  • In the Navigation bar, select Schema.
  • In the list of schemas, select the Presto schema.
  • In the Schema Designer, in the Action bar, select Diagram.

Presto schema diagram

The following is an example of a User Summary schema for a MySQL external data source that utilizes the Presto connector.

Load the schema

Here are the steps to perform a Full Load of the Presto schema using the Schema Designer:

  • Sign in to the Incorta Direct Data Platform.
  • In the Navigation bar, select Schema.
  • In the list of schemas, select the Presto schema.
  • In the Schema Designer, in the Action bar, select Load → Load Now → Full.
  • To review the load status, in Last Load Status, select the date.

Explore the schema

With the full load of the Presto schema complete, you can use the Analyzer to explore the schema, create your first insight, and save the insight to a new dashboard.

To open the Analyzer from the schema, follow these steps:

  • In the Navigation bar, select Schema.
  • In the Schema Manager, in the List view, select the Presto schema.
  • In the Schema Designer, in the Action bar, select Explore Data.