Back to Datahub

Metabase Post

metadata-ingestion/docs/sources/metabase/metabase_post.md

1.5.0.32.9 KB
Original Source

Capabilities

Use the Important Capabilities table above as the source of truth for supported features and whether additional configuration is required.

Collection

The connector uses Metabase collection APIs to discover collection hierarchy and list dashboards within each collection:

Dashboard

Dashboard details are extracted from:

This includes titles, descriptions, ownership context, and dashboard URL metadata.

Chart

Chart metadata is extracted from:

This captures chart definitions, query relationships, and chart-level attributes used for DataHub Chart entities.

Database Mapping

Metabase databases will be mapped to a DataHub platform based on the engine listed in the api/database response. This mapping can be customized by using the engine_platform_map config option. For example, to map databases using the athena engine to the underlying datasets in the glue platform, the following snippet can be used:

yml
engine_platform_map:
  athena: glue

DataHub will try to determine database name from Metabase api/database payload. However, the name can be overridden from database_alias_map for a given database connected to Metabase.

If several platform instances with the same platform (e.g. from several distinct clickhouse clusters) are present in DataHub, the mapping between database id in Metabase and platform instance in DataHub may be configured with the following map:

yml
database_id_to_instance_map:
  "42": platform_instance_in_datahub

The key in this map must be string, not integer although Metabase API provides id as number. If database_id_to_instance_map is not specified, platform_instance_map is used for platform instance mapping. If none of the above are specified, platform instance is not used when constructing urn when searching for dataset relations.

If needed it is possible to exclude collections from other users by setting the following configuration:

yaml
exclude_other_user_collections: true

Limitations

Module behavior is constrained by source APIs, permissions, and metadata exposed by the platform. Refer to capability notes for unsupported or conditional features.

Troubleshooting

If ingestion fails, validate credentials, permissions, connectivity, and scope filters first. Then review ingestion logs for source-specific errors and adjust configuration accordingly.