Google Spanner

This page explains how to set up a connection in Looker to Google Spanner.

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.

Getting the connection credentials

  1. Log in to the Google Cloud console.

  2. Select the appropriate project.

  3. From the menu, select IAM & Admin and then Service accounts.

  4. Select Create service account and fill in the dialog box as follows:

    • Service account name: Enter looker-spanner-service or something similar.
    • Role: Select Cloud Spanner and then Cloud Spanner Database Reader.
    • Furnish a new private key: Select the Furnish a new private key checkbox, and select JSON under Key type.

  5. Click Create and keep track of the following:

    • The email address associated with the service account
    • The name and location of the JSON credential file that was downloaded

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: Google Spanner.
  • Name: The name of the connection.
  • Project Name: The project ID for the Google project that contains the Spanner database.
  • Instance Name: The name of the instance that contains the Spanner database.
  • Database: The name of the Spanner database.
  • Schema: Leave this blank.
  • Max connections per node: The maximum number of total connections to the Spanner database across all users. The default is 30. This setting can be left at the default value initially. See the Connecting Looker to your database documentation page for more information.
  • Connection Pool Timeout: The number of seconds a query will wait before timing out because of a full connection pool.
  • Additional JDBC parameters: Any additional JDBC driver parameters.

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.

Google Spanner 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
No
Persistent Native Derived Tables
No
Stable Views
No
Query Killing
Yes
SQL-based Pivots
No
Timezones
Yes
SSL
Yes
Subtotals
No
JDBC Additional Params
Yes
Case Sensitive
Yes
Location Type
Yes
List Type
No
Percentile
No
Distinct Percentile
No
SQL Runner Show Processes
No
SQL Runner Describe Table
No
SQL Runner Show Indexes
No
SQL Runner Select 10
Yes
SQL Runner Count
Yes
SQL Explain
No
Oauth Credentials
No
Context Comments
Yes
Connection Pooling
No
HLL Sketches
No
Aggregate Awareness
No
Incremental PDTs
No
Milliseconds
No
Microseconds
No
Materialized Views
No
Approximate Count Distinct
No

References

Next steps

After you have connected your database to Looker, configure sign-in options for your users.