4.3 KiB
Metabase
For context on getting started with ingestion, check out our metadata ingestion guide.
Setup
To install this plugin, run pip install 'acryl-datahub[metabase]'
.
See documentation for Metabase's API at https://www.metabase.com/learn/administration/metabase-api.html for more details on Metabase's login api.
Capabilities
This plugin extracts Charts, dashboards, and associated metadata. This plugin is in beta and has only been tested on PostgreSQL and H2 database.
Capability | Status | Details |
---|---|---|
Platform Instance | ✔️ | link |
Dashboard
/api/dashboard endpoint is used to retrieve the following dashboard information.
- Title and description
- Last edited by
- Owner
- Link to the dashboard in Metabase
- Associated charts
Chart
/api/card endpoint is used to retrieve the following information.
- Title and description
- Last edited by
- Owner
- Link to the chart in Metabase
- Datasource and lineage
The following properties for a chart are ingested in DataHub.
Name | Description |
---|---|
Dimensions |
Column names |
Filters |
Any filters applied to the chart |
Metrics |
All columns that are being used for aggregation |
Quickstart recipe
Check out the following recipe to get started with ingestion! See below for full configuration options.
For general pointers on writing and running a recipe, see our main recipe guide.
source:
type: metabase
config:
# Coordinates
connect_uri: http://localhost:3000
# Credentials
username: user
password: pass
# Options
default_schema: public
database_alias_map:
h2: sample-dataset.db
# Optional mapping of platform types to instance ids
platform_instance_map: # optional
postgres: test_postgres # optional
sink:
# sink configs
Config details
Field | Required | Default | Description |
---|---|---|---|
connect_uri |
✅ | "localhost:8088" |
Metabase host URL. |
username |
✅ | Metabase username. | |
password |
✅ | Metabase password. | |
database_alias_map |
Database name map to use when constructing dataset URN. | ||
engine_platform_map |
Custom mappings between metabase database engines and DataHub platforms | ||
default_schema |
public |
Default schema name to use when schema is not provided in an SQL query | |
env |
"PROD" |
Environment to use in namespace when constructing URNs. |
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:
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.
Compatibility
Metabase version v0.41.2
Questions
If you've got any questions on configuring this source, feel free to ping us on our Slack!