Skip to content

Adding a Looker Connection

Information Circle

To connect to the Looker platform, the running user must have access to the required Dashboards.

You can find a link to the configuration template in Zeenea Connector Downloads.

Supported Versions

The Looker connector is compatible with the SaaS Looker instances hosted on Google Cloud (*.cloud.looker.com).

Warning

Legacy AWS-hosted Looker instances (URLs without cloud) are not supported.

Installing the Plugin

You can download the Looker plugin from Zeenea Connector Downloads.

For more information about how to install a plugin, see Installing and Configuring Connectors as a Plugin.

Declaring the Connection

Connectors are created and configured through a dedicated configuration file located in the /connections folder of the relevant scanner. The scanner frequently checks for any change and resynchronises automatically.

For more information about managing connections, see Managing Connections.

To establish a connection with Looker, fill in the following parameters in the dedicated configuration file using a JSON-Style format:

Information Circle

Configuration examples below use Markdoc fenced code blocks for clarity.

ParameterExpected value
nameSpecifies the display name for the connection.
codeDefines the unique identifier of the connection on the Zeenea platform. Once registered on the platform, this code must not be modified or the connection will be considered as new and the old one removed from the scanner.
connector_idThe type of connector to be used for the connection. The value must be looker and must not be modified.
enabledA boolean value to enable or disable the connection. The default value is true.
catalog_codeDefines the catalog code associated with the connection ("default" when empty).
secret_managerConfiguration for a secret manager. Works only with Scanner version 73 or later and requires a functional secret manager configured in the scanner configuration file.
connectionConnection settings.
lineage(Optional) A boolean value to activate the automatic lineage feature. The default value is true.
proxyProxy configuration.
tlsTLS Truststore settings.

Example: Secret Manager Configuration

secret_manager {
  enabled = true
  key = "my-secret-key"
}

Example: Connection Settings

connection {
  tenant = "your-tenant"
  oauth {
    client_id = "your-client-id"
    client_secret = "your-client-secret"
    timeout = 10000
  }
  fetch_offset_size = 100
}

Example: Proxy Configuration

proxy {
  scheme = "https"
  hostname = "proxy.example.com"
  port = 443
  username = "proxyuser"
  password = "proxypass"
}

Example: TLS Truststore Settings

tls {
  truststore {
    path = "/path/to/truststore"
    password = "truststore-password"
    type = "PKCS12"
  }
}

User Permissions

Information Circle

To collect metadata, the running user's permissions must allow them to access and read dashboards that need cataloging.

Data Extraction

To extract information from Looker, the connector will scan all Dashboards the running user has access to and transform them into Visualization objects in Zeenea. Data sources are referenced as Datasets. Fields are recreated as Field-type objects in Zeenea. For each Looker Dataset, a Data Process is created to represent the lineage with the origin Dataset.

Information Circle

The connector executes the following requests:

GET /api/4.0/dashboards/{dashboard-id}/search
GET /api/4.0/connections/
GET /api/4.0/folders/{folder-id}/ancestors
GET /api/4.0/lookml_models/{model-name}/explores/{dataset-name}
POST /login

Collected Metadata

Inventory

The inventory collects the list of Dashboards (along with their data sources) that the user can access.

Lineage

The Looker connector is able to retrieve the lineage between datasets that have been imported to the catalog. Datasets from other connections must have been previously imported to the catalog to be linked to the Looker dataset through a new Data Process object. This feature is available for the following systems and, for it to work, an additional parameter is needed in the source system connection as configured in the Looker connection configuration panel.

Source SystemPossible value of alias parameter to be set in source system configuration file
BigQueryBigQuery project name
Information Circle

The connector creates a data process object for each dataset from Looker to represent the link with the source dataset (even if the source dataset is not present in the catalog).

Visualization

A Visualization is a Looker Dashboard.

  • Name: Dashboard name
  • Source Description: Dashboard label
  • Datasets: All datasets referenced in the Dashboard
  • Technical Data: Creation date, Parent space, Last visualization date, Number of views by web UI

Dataset

A dataset is a Data source used in a Looker Dashboard.

  • Name: Dataset name
  • Source Description: Dataset label
  • Technical Data: Explore name, Schema name, Model name, Connection name

Field

Dataset field. Can be used as a Dashboard report data.

  • Name: Field name
  • Source Description: Field label
  • Type: Field type
  • Can be null: false (default)
  • Multivalued: false (default)
  • Primary Key: false (default)
  • Technical Data: Field type: dimension or measure

Data Process

To represent the data flow from an external source, a Zeenea Data Process will be created for each Looker Dataset.

  • Name: import input/output_dataset name

Object Identifier Keys

ObjectIdentification KeyDescription
Visualizationcode/identifiercode: Unique identifier of the connection noted in the configuration file
identifier: Looker technical object identifier
Datasetcode/dataset/identifiercode: Unique identifier of the connection noted in the configuration file
identifier: Looker technical object identifier
Fieldcode/dataset/identifier/field-namecode: Unique identifier of the connection noted in the configuration file
identifier: Looker technical object identifier
field-name
Data Processcode/transformation/model-name/dataset-namecode: Unique identifier of the connection noted in the configuration file
model-name
dataset-name
Loading editor...