Metabase

Metabase is an open-source business intelligence tool that allows users to explore, visualize, and share data insights through an intuitive interface without requiring SQL knowledge.

Using Weld to build a data destination ensures that all your company's systems data is centralized, transformed, and ready for analysis within Metabase.

How to connect to Weld

Connect your data in Weld to Metabase through a direct connection between your destination and Metabase.

Connect Metabase to BigQuery

You'll first need a service account JSON file that Metabase can use to access your BigQuery dataset.

To facilitate this, you need to create a Google Cloud Platform (GCP) service account for Metabase. Furthermore, you need to assign the following roles to this service account. We recommend that you create a new service account for this and only attach these roles to that service account. This ensures that Weld can only access what is required and helps secure your GCP account.

1. Enable Cloud Resource Manager API in GCP

Go to Cloud Resource Manager API and press Enable

This is required for us to verify that the service account provided to weld has the correct permissions to operate. If there is no Enable button, it might be enabled already.

2. Create service account

Go to Service Accounts and press create new account.

Give it a name and press Create and continue. Grant the service account the following roles:

  • BigQuery Data Viewer
  • BigQuery Metadata Viewer
  • BigQuery Job User

Now press Done

3. Download your service account key

In the Service accounts window, click the service account you just created, and then press Keys.

Now click Add Key, and then Create New Key. Select JSON, and then press Create. This key will automatically download onto your computer, which will then be uploaded to Metabase in the next steps.

Open your Metabase account

To add a database connection, click on the gear icon in the top right and navigate to Admin settings > Databases > Add a database.

1. Display name:

The display name for the database in the Metabase interface.

2. Project ID:

Each BigQuery dataset will have a Project ID.

When entering the Project ID, omit the Project ID prefix. For example, if your ID is project_name:project_id, only enter project_id.

3. Service account JSON file:

Upload the JSON file that you downloaded from Google Console.

4. Datasets:

You can specify which BigQuery datasets you want to sync and scan. Options are:

  • All
  • Only these…
  • All except…

For the Only these and All except options, you can enter a comma-separated list of values to either include or exclude specific schemas. For instance, if you enter STAGING, CORE, ANALYTICS, the sync will include those schemas.\

Connect Metabase to Snowflake

Open your Metabase account click on the gear icon in the top right corner and navigate to Admin settings > Databases > Add a database.

  1. Display Name

Assign a display name for the database as it will appear within the Metabase interface.

  1. Account Name

Enter your Snowflake Account ID along with the region where your Snowflake cluster is hosted. For instance, if your account URL is https://az12345.ca-central-1.snowflakecomputing.com and it is running on AWS, the account name should be structured as follows: <account_identifier>: az12345.ca-central-1.<cloud_platform>.

Note: The cloud platform identifier is not necessary for all regions. If you are in the us-west-2 region, simply enter az12345 as the account name. Refer to Snowflake's official documentation for region-specific requirements.

  1. Username and Password

Provide the username associated with the database account you wish to use for the connection. Multiple connections to the same database can be established using different user accounts, each with its own set of privileges.

Enter the password corresponding to the specified username used for connecting to the database.

  1. RSA Private Key (PEM)

Choose between utilizing a Local file path or an Uploaded file path for the RSA private key. If you are using Metabase Cloud, select Uploaded file path and proceed to upload your certificate.

  1. Warehouse

Specify the Snowflake warehouse to connect to. In the event that the user does not possess a default warehouse, entering the warehouse name becomes necessary to establish the connection.

  1. Database Name (Case Sensitive)

Enter the name of the Snowflake database to which you want to connect. Be mindful of case sensitivity.

  1. Schemas (Optional)

If desired, you can specify the schemas you want to synchronize and scan. Should no schema be provided, all schemas accessible to the user and role will be displayed as folders in Metabase.

Schema options include:

  • All
  • Only these...
  • All except...

For the Only these and All except options, you can enter a comma-separated list of values to either include or exclude specific schemas. For instance, if you enter STAGING, CORE, ANALYTICS, the sync will include those schemas.

Was this page helpful?