Get started
Hightouch lets you pull data stored in TrinoDB (previously PrestoSQL) and push it to downstream destinations. Most of the setup occurs in the Hightouch UI, but you need access to your Trino instance for information like your host, port, database name, and credentials. Hightouch can also connect to managed Trino services like Starburst.You may need to allowlist Hightouch’s IP addresses to let our systems connect to your warehouse. Reference our networking docs to determine which IP addresses you need to allowlist.
Connection configuration
To get started, go to the Sources overview page and click the Add source button. Select Trino and follow the steps below.Choose connection type
Hightouch can connect directly to Trino over the public internet or via an SSH tunnel. Since data is encrypted in transit via TLS, a direct connection is suitable for most use cases. You may need to set up a tunnel if your Trino instance is on a private network or virtual private cloud (VPC).
Configure your source
Enter the following fields into Hightouch:- Host: The hostname or IP address of your Trino coordinator server.
- Port: The port number of your Trino coordinator server.
- (Optional) Default catalog: This specifies the catalog that will be used when Hightouch executes queries in Trino.
- Engine: Select whether to use the Trino or Presto engine to execute queries.
- Connector: Select the connector that will be used to access the data source used by the sync engine. We support the following connectors:
- Hive
- Iceberg
- PostgreSQL
- (Optional) Disable encryption: Encryption is enabled by default. Check this option if your Trino instance doesn’t support encrypted connections.
Choose your sync engine
For optimal performance, Hightouch tracks incremental changes in your data model—such as added, changed, or removed rows—and only syncs those records. You can choose between two different sync engines for this work. The Basic engine requires read-only access to Trino. Hightouch executes a query in your database, reads all query results, and then determines incremental changes using Hightouch’s infrastructure. This engine is easier to set up since it requires read—not write—access to Trino. The Lightning engine requires read and write access to Trino. The engine stores previously synced data in a separate schema in Trino managed by Hightouch. In other words, the engine uses Trino to track incremental changes to your data rather than performing these calculations in Hightouch. Therefore, these computations are completed more quickly.
Basic versus Lightning engine comparison
Lightning engine setup
To set up the Lightning engine, you need to grant Hightouch write access to your Trino connector. The steps to do so depend on the connector. These snippets serve as a reference and should be run on your Trino server. Hive & Iceberghightouch_planner and hightouch_audit) for storing logs of previously synced data and, in some cases, creates a dedicated SQL user. Hightouch must be able to read and write to these schemas, but the specific username and schema names might vary.
Provide credentials
Enter the following fields into Hightouch:- User: This can be your personal Trino login or a dedicated user for Hightouch. At minimum, this user must have read access to the data you wish to sync. If using the Lightning sync engine, you must also grant this user additional permissions as described above.
- Password: The password for the user specified above.
Test your connection
When setting up a source for the first time, Hightouch validates the following:- Network connectivity
- Trino credentials
- Permission to list schemas and tables
- Permission to write to
hightouch_plannerschema - Permission to write to
hightouch_auditschema
Create models
Once your source configuration has passed the necessary validation, your source setup is complete. Next, you can set up models to define which data you want to pull from Trino. The Trino source supports these modeling methods:- writing a query in the SQL editor
- using the visual table selector
- leveraging existing dbt models
You must enable the Lightning sync engine to store sync logs in your warehouse.