This page contains information about connecting Looker to Apache Spark 3.
Looker connects to Apache Spark 3+ through a JDBC connection to the Spark Thrift Server.
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:
- Name: The name of the connection. This is how the connection will be referred to in the LookML model.
- Dialect: Select Apache Spark 3+.
- Host: The Thrift server host.
- Port The Thrift server port (10000 by default).
- Database: The default schema/database that will be modeled. When no database is specified for a table, this will be assumed.
- Username: The user that Looker will authenticate as.
- Password: The optional password for Looker user.
- Enable PDTs: Use this toggle to enable persistent derived tables. When PDTs are enabled, the Connection window reveals additional PDT settings and the PDT Overrides section.
- Temp Database: A temporary schema/database for storing PDTs. It must be created beforehand, with a statement such as
CREATE SCHEMA looker_scratch;
. - Additional JDBC parameters: Add any additional Hive JDBC parameters here, such as:
;spark.sql.inMemoryColumnarStorage.compressed=true
;auth=noSasl
- SSL: Leave this unchecked.
- Database Time Zone: The time zone of data stored in Spark. Usually it can be left blank or set to UTC.
- Query Time Zone: The time zone to display data queried in Looker.
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.
Feature support
For Looker to support some features, your database dialect must also support them.
Apache Spark 3+
Apache Spark 3+ supports the following features as of Looker 24.20:
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 | No |
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 | No |
Aggregate Awareness | Yes |
Incremental PDTs | No |
Milliseconds | Yes |
Microseconds | Yes |
Materialized Views | No |
Approximate Count Distinct | No |
Next steps
After you have created the connection, set authentication options.