These pages discuss how to connect Looker to PrestoDB or Trino.
Encrypting network traffic
It is a best practice to encrypt network traffic between the Looker application and your database. Consider one of the options described on the Enabling secure database access documentation page.
Creating the Looker connection to your database
In the Admin section of Looker, select Connections, and then click Add Connection.
Fill out the connection details. The majority of the settings are common to most database dialects. See the Connecting Looker to your database documentation page for information. Some of the settings are described next:
Dialect: Select PrestoDB or Trino.
PrestoSQL has been rebranded as Trino. If you use a Trino version earlier than 352, select PrestoSQL from Looker's dialect menu.
Host: The database hostname.
Port: The database port. The default port is 8080.
Database: The "catalog" or "connector," in Presto terms.
Username: The username of the user who will run queries.
This information is sent to the PrestoDB or Trino server only if SSL is enabled.
Password: Password for the user who will run queries.
This information is sent to the PrestoDB or Trino server only if SSL is enabled.
Schema: The default schema to use when no schema is specified.
Enable PDTs: Use this toggle to enable persistent derived tables (PDTs). This reveals additional PDT fields and the PDT Overrides section for the connection.
Temp Database: The schema to write PDTs. (Version 3.50 added PDT support to Presto. See the Configuring PrestoDB or Trino for PDTs section on this page for more information about how to configure Presto for PDT support.)
Additional JDBC parameters: Any additional parameters from the PrestoDB JDBC driver or Trino JDBC driver.
SSL: Check to enable SSL connections.
Verify SSL: Ignore this field. All SSL connections will use the default Java Truststore unless directed to do otherwise with PrestoDB JDBC parameters or Trino JDBC driver, which you can enter in the Additional JDBC parameters field.
To verify that the connection is successful, click Test. See the Testing database connectivity documentation page for troubleshooting information.
To save these settings, click Connect.
For more information about connection settings, see the Connecting Looker to your database documentation page.
Configuring PrestoDB or Trino for PDTs
PDT support depends on the connector you are using with PrestoDB or Trino. This section explains the necessary configuration settings for a scratch database. This example assumes the connector you are using is hive
.
There are a few configuration properties and values that the Hive catalog properties file should contain.
The following is required because Presto caches the Hive metastore results, and Looker needs to be able to see the tables right away:
hive.metastore-cache-ttl = 0s
These two properties are required because Looker needs to be able to drop and rename PDTs:
hive.allow-rename-table=true
hive.allow-drop-table=true
For reference, in our internal Presto testing servers we use the following hive.properties
file, which is used for all Hive schemas:
hive.s3.connect-timeout=1m
hive.s3.max-backoff-time=10m
hive.s3.max-error-retries=50
hive.metastore-cache-ttl = 0s
hive.metastore-refresh-interval = 5s
hive.s3.max-connections=500
hive.s3.max-client-retries=50
connector.name=hive-hadoop2
hive.s3.socket-timeout=2m
hive.s3.staging-directory=/mnt/tmp/
hive.s3.use-instance-credentials=true
hive.config.resources=/etc/hadoop/conf/core-site.xml,/etc/hadoop/conf/hdfs-site.xml
hive.parquet.use-column-names=true
hive.allow-drop-table=true
hive.metastore.uri=thrift://<metastore-server>:9083
hive.storage-format=ORC
hive.allow-rename-table=true
Reference
For more information about configuring your Hive connector, see PrestoDB Hive Connector or Trino Hive Connector.
Feature support
For Looker to support some features, your database dialect must also support them.
PrestoDB supports the following features as of Looker 24.8:
Feature | Supported? |
---|---|
Support Level | Supported |
Looker (Google Cloud core) | Yes |
Symmetric Aggregates | Yes |
Derived Tables | Yes |
Persistent SQL Derived Tables | Yes |
Persistent Native Derived Tables | Yes |
Stable Views | Yes |
Query Killing | Yes |
SQL-based Pivots | Yes |
Timezones | Yes |
SSL | Yes |
Subtotals | Yes |
JDBC Additional Params | Yes |
Case Sensitive | Yes |
Location Type | Yes |
List Type | Yes |
Percentile | Yes |
Distinct Percentile | No |
SQL Runner Show Processes | Yes |
SQL Runner Describe Table | Yes |
SQL Runner Show Indexes | No |
SQL Runner Select 10 | Yes |
SQL Runner Count | Yes |
SQL Explain | Yes |
Oauth Credentials | No |
Context Comments | Yes |
Connection Pooling | No |
HLL Sketches | Yes |
Aggregate Awareness | Yes |
Incremental PDTs | No |
Milliseconds | Yes |
Microseconds | No |
Materialized Views | No |
Approximate Count Distinct | Yes |
Trino supports the following features as of Looker 24.8:
Feature | Supported? |
---|---|
Support Level | Supported |
Looker (Google Cloud core) | Yes |
Symmetric Aggregates | Yes |
Derived Tables | Yes |
Persistent SQL Derived Tables | Yes |
Persistent Native Derived Tables | Yes |
Stable Views | No |
Query Killing | Yes |
SQL-based Pivots | Yes |
Timezones | Yes |
SSL | Yes |
Subtotals | Yes |
JDBC Additional Params | Yes |
Case Sensitive | Yes |
Location Type | Yes |
List Type | Yes |
Percentile | Yes |
Distinct Percentile | No |
SQL Runner Show Processes | Yes |
SQL Runner Describe Table | Yes |
SQL Runner Show Indexes | No |
SQL Runner Select 10 | Yes |
SQL Runner Count | Yes |
SQL Explain | Yes |
Oauth Credentials | No |
Context Comments | Yes |
Connection Pooling | No |
HLL Sketches | Yes |
Aggregate Awareness | Yes |
Incremental PDTs | No |
Milliseconds | Yes |
Microseconds | No |
Materialized Views | No |
Approximate Count Distinct | Yes |
Next steps
After you have connected your database to Looker, configure sign-in options for your users.