mirror of
https://github.com/datahub-project/datahub.git
synced 2025-08-12 19:27:09 +00:00
100 lines
3.4 KiB
Markdown
100 lines
3.4 KiB
Markdown
![]() |
# Metabase
|
||
|
|
||
|
For context on getting started with ingestion, check out our [metadata ingestion guide](../README.md).
|
||
|
|
||
|
## 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.
|
||
|
|
||
|
### Dashboard
|
||
|
|
||
|
[/api/dashboard](https://www.metabase.com/docs/latest/api-documentation.html#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](https://www.metabase.com/docs/latest/api-documentation.html#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](#config-details) for full configuration options.
|
||
|
|
||
|
For general pointers on writing and running a recipe, see our [main recipe guide](../README.md#recipes).
|
||
|
|
||
|
```yml
|
||
|
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
|
||
|
|
||
|
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. |
|
||
|
| `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. |
|
||
|
|
||
|
|
||
|
DataHub will try to determine database name from Metabase [api/database](https://www.metabase.com/docs/latest/api-documentation.html#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](https://www.metabase.com/start/oss/)
|
||
|
|
||
|
|
||
|
## Questions
|
||
|
|
||
|
If you've got any questions on configuring this source, feel free to ping us on
|
||
|
[our Slack](https://slack.datahubproject.io/)!
|