Looker is currently in beta. The info in this guide is subject to change.
This integration is powered by Singer's Looker tap. For support, visit the GitHub repo or join the Singer Slack.
Looker integration summary
Stitch’s Looker integration replicates data using the Looker v3.1 API. Refer to the Schema section for a list of objects available for replication.
Looker feature snapshot
A high-level look at Stitch's Looker (v1) integration, including release status, useful links, and the features supported in Stitch.
STITCH | |||
Release status |
Beta |
Supported by | |
Stitch plan |
Standard |
API availability |
Available |
Singer GitHub repository | |||
REPLICATION SETTINGS | |||
Anchor Scheduling |
Supported |
Advanced Scheduling |
Supported |
Table-level reset |
Unsupported |
Configurable Replication Methods |
Unsupported |
DATA SELECTION | |||
Table selection |
Supported |
Column selection |
Supported |
Select all |
Supported |
||
TRANSPARENCY | |||
Extraction Logs |
Supported |
Loading Reports |
Supported |
Connecting Looker
Looker setup requirements
To set up Looker in Stitch, you need:
-
Looker Admin privileges. Admin privileges in Looker are required to generate credentials for Stitch.
Step 1: Generate Looker API credentials for Stitch
- Sign into your Looker account.
- Navigate to the Edit Users page.
- Click the Edit Keys button. This will take you to the Edit User API3 Keys page.
- Click the New API3 key button to generate a new key.
- Copy your Client ID and Client Secret. Keep it readily available for the next step.
Step 2: Add Looker as a Stitch data source
- Sign into your Stitch account.
-
On the Stitch Dashboard page, click the Add Integration button.
-
Click the Looker icon.
-
Enter a name for the integration. This is the name that will display on the Stitch Dashboard for the integration; it’ll also be used to create the schema in your destination.
For example, the name “Stitch Looker” would create a schema called
stitch_looker
in the destination. Note: Schema names cannot be changed after you save the integration. - In the API Port field, enter your API Port number. Note: This value is usually
19999
unless you host Looker internally. If hosting internally, use your internal API Port value. - In the Client ID field, paste the Client ID that you copied in Step 1.
- In the Client Secret field, paste the Client Secret that you copied in Step 1.
- In the Domain field, enter your Looker account domain. It’s typically
looker.com
, unless you use a white-labeled URL. - In the Subdomain field, enter your Looker account subdomain. Your subdomain is the leading part of your Looker URL. For example: If the URL is
https://stitch.looker.com
, the value for this field would bestitch
.
Step 3: Define the historical replication start date
The Sync Historical Data setting defines the starting date for your Looker integration. This means that:
- For tables using Key-based Incremental Replication, data equal to or newer than this date will be replicated to your destination.
- For tables using Full Table Replication, all data - including records that are older, equal to, or newer than this date - will be replicated to your destination.
Change this setting if you want to replicate data beyond Looker’s default setting of 1 year. For a detailed look at historical replication jobs, check out the Syncing Historical SaaS Data guide.
Step 4: Create a replication schedule
In the Replication Frequency section, you’ll create the integration’s replication schedule. An integration’s replication schedule determines how often Stitch runs a replication job, and the time that job begins.
Looker integrations support the following replication scheduling methods:
-
Advanced Scheduling using Cron (Advanced or Premium plans only)
To keep your row usage low, consider setting the integration to replicate less frequently. See the Understanding and Reducing Your Row Usage guide for tips on reducing your usage.
Step 5: Set objects to replicate
The last step is to select the tables and columns you want to replicate. Learn about the available tables for this integration.
Note: If a replication job is currently in progress, new selections won’t be used until the next job starts.
For Looker integrations, you can select:
-
Individual tables and columns
-
All tables and columns
Click the tabs to view instructions for each selection method.
- In the integration’s Tables to Replicate tab, locate a table you want to replicate.
-
To track a table, click the checkbox next to the table’s name. A blue checkmark means the table is set to replicate.
-
To track a column, click the checkbox next to the column’s name. A blue checkmark means the column is set to replicate.
- Repeat this process for all the tables and columns you want to replicate.
- When finished, click the Finalize Your Selections button at the bottom of the screen to save your selections.
- Click into the integration from the Stitch Dashboard page.
-
Click the Tables to Replicate tab.
- In the list of tables, click the box next to the Table Names column.
-
In the menu that displays, click Track all Tables and Fields:
- Click the Finalize Your Selections button at the bottom of the page to save your data selections.
Initial and historical replication jobs
After you finish setting up Looker, its Sync Status may show as Pending on either the Stitch Dashboard or in the Integration Details page.
For a new integration, a Pending status indicates that Stitch is in the process of scheduling the initial replication job for the integration. This may take some time to complete.
Initial replication jobs with Anchor Scheduling
If using Anchor Scheduling, an initial replication job may not kick off immediately. This depends on the selected Replication Frequency and Anchor Time. Refer to the Anchor Scheduling documentation for more information.
Free historical data loads
The first seven days of replication, beginning when data is first replicated, are free. Rows replicated from the new integration during this time won’t count towards your quota. Stitch offers this as a way of testing new integrations, measuring usage, and ensuring historical data volumes don’t quickly consume your quota.
Looker table reference
Schemas and versioning
Schemas and naming conventions can change from version to version, so we recommend verifying your integration’s version before continuing.
The schema and info displayed below is for version 1 of this integration.
This is the latest version of the Looker integration.
Table and column names in your destination
Depending on your destination, table and column names may not appear as they are outlined below.
For example: Object names are lowercased in Redshift (CusTomERs
> customers
), while case is maintained in PostgreSQL destinations (CusTomERs
> CusTomERs
). Refer to the Loading Guide for your destination for more info.
color_collections
Replication Method : |
Full Table |
Primary Key |
id |
API endpoint : |
The color_collections
table contains information about color collections in your Looker account.
id
The color collection ID. Reference: |
||||
categoricalPalettes
|
||||
divergingPalettes
|
||||
label
|
||||
sequentialPalettes
|
connections
Replication Method : |
Full Table |
Primary Key |
name |
API endpoint : |
The connections
table contains information about connections in your Looker account.
name
The name of the connection. |
||||||||||||
after_connect_statements
|
||||||||||||
certificate
|
||||||||||||
created_at
|
||||||||||||
database
|
||||||||||||
db_timezone
|
||||||||||||
dialect
|
||||||||||||
dialect_name
|
||||||||||||
example
|
||||||||||||
file_type
|
||||||||||||
host
|
||||||||||||
jdbc_additional_params
|
||||||||||||
last_reap_at
|
||||||||||||
last_regen_at
|
||||||||||||
maintenance_cron
|
||||||||||||
max_billing_gigabytes
|
||||||||||||
max_connections
|
||||||||||||
password
|
||||||||||||
pdt_context_override
|
||||||||||||
pool_timeout
|
||||||||||||
port
|
||||||||||||
query_timezone
|
||||||||||||
schema
|
||||||||||||
snippets
|
||||||||||||
sql_runner_precache_tables
|
||||||||||||
ssl
|
||||||||||||
tmp_db_name
|
||||||||||||
user_attribute_fields
|
||||||||||||
user_db_credentials
|
||||||||||||
user_id
Reference:
|
||||||||||||
username
|
||||||||||||
uses_oauth
|
||||||||||||
verify_ssl
|
content_favorites
Replication Method : |
Full Table |
Primary Key |
id |
API endpoint : |
The content_favorites
table contains info about users’ favorite content in your Looker instance.
content_metadata
Replication Method : |
Full Table |
Primary Key |
id |
API endpoint : |
The content_metadata
table contains information about content metadata in your Looker instance.
id
The content metadata ID. Reference:
|
content_type
|
dashboard_id
Reference:
|
folder_id
Reference:
|
inheriting_id
|
inherits
|
look_id
Reference: |
name
|
parent_id
Reference:
|
slug
|
space_id
Reference:
|
content_metadata_access
Replication Method : |
Full Table |
Primary Key |
id |
API endpoint : |
The content_metadata_access
table contains information about content metadata access records in your Looker instance.
id
The access record ID. |
content_metadata_id
Reference:
|
group_id
Reference: |
permission_type
|
user_id
Reference:
|
content_views
Replication Method : |
Full Table |
Primary Key |
id |
API endpoint : |
The content_views
table contains info about user content views recorded in your Looker instance.
id
The content view ID. |
content_metadata_id
Reference:
|
dashboard_id
Reference:
|
favorite_count
|
group_id
Reference: |
last_viewed_at
|
look_id
Reference: |
start_of_week_date
|
user_id
Reference:
|
view_count
|
dashboards
Replication Method : |
Full Table |
Primary Key |
id |
API endpoint : |
The dashboards
table contains information about all active dashboards in your Looker account.
id
The dashboard ID. Reference:
|
||||||||||||||
content_favorite_id
Reference:
|
||||||||||||||
content_metadata_id
Reference:
|
||||||||||||||
description
|
||||||||||||||
folder
|
||||||||||||||
hidden
|
||||||||||||||
model
|
||||||||||||||
query_timezone
|
||||||||||||||
readonly
|
||||||||||||||
refresh_interval
|
||||||||||||||
refresh_interval_to_i
|
||||||||||||||
space
|
||||||||||||||
title
|
||||||||||||||
user_id
Reference:
|
dashboard_elements
Replication Method : |
Full Table |
Primary Key |
id |
API endpoint : |
The dashboard_elements
table contains information about all dashboard elements in your Looker instance.
id
The dashboard element ID. Reference: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
alert_count
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
body_text
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
body_text_as_html
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
dashboard_id
Reference:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
edit_uri
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
look
|