5.5 KiB
Mode
For context on getting started with ingestion, check out our metadata ingestion guide.
Setup
To install this plugin, run pip install 'acryl-datahub[mode]'
.
See documentation for Mode's API at https://mode.com/developer/api-reference/introduction/
Capabilities
This plugin extracts Charts, Reports, and associated metadata from a given Mode workspace. This plugin is in beta and has only been tested on PostgreSQL database.
Capability | Status | Details |
---|---|---|
Platform Instance | ✔️ | link |
Report
/api/{account}/reports/{report} endpoint is used to retrieve the following report information.
- Title and description
- Last edited by
- Owner
- Link to the Report in Mode for exploration
- Associated charts within the report
Chart
/api/{workspace}/reports/{report}/queries/{query}/charts' endpoint is used to retrieve the following information.
- Title and description
- Last edited by
- Owner
- Link to the chart in Metabase
- Datasource and lineage information from Report queries.
The following properties for a chart are ingested in DataHub.
Chart Information
Name | Description |
---|---|
Filters |
Filters applied to the chart |
Metrics |
Fields or columns used for aggregation |
X |
Fields used in X-axis |
X2 |
Fields used in second X-axis |
Y |
Fields used in Y-axis |
Y2 |
Fields used in second Y-axis |
Table Information
Name | Description |
---|---|
Columns |
Column names in a table |
Filters |
Filters applied to the table |
Pivot Table Information
Name | Description |
---|---|
Columns |
Column names in a table |
Filters |
Filters applied to the table |
Metrics |
Fields or columns used for aggregation |
Rows |
Row names in a table |
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: mode
config:
# Coordinates
connect_uri: http://app.mode.com
# Credentials
token: token
password: pass
# Options
workspace: "datahub"
default_schema: "public"
owner_username_instead_of_email: False
api_options:
retry_backoff_multiplier: 2
max_retry_interval: 10
max_attempts: 5
sink:
# sink configs
Config details
Field | Required | Default | Description |
---|---|---|---|
connect_uri |
✅ | "https://app.mode.com" |
Mode host URL. |
token |
✅ | Mode user token. | |
password |
✅ | Mode password for authentication. | |
default_schema |
public |
Default schema to use when schema is not provided in an SQL query | |
env |
"PROD" |
Environment to use in namespace when constructing URNs. | |
platform_instance_map |
Platform instance mapping to use when constructing URNs to data sources through lineage. e.g.platform_instance_map: { "hive": "warehouse" } |
||
owner_username_instead_of_email |
True |
Use username for owner URN instead of Email | |
api_options |
Retry/Wait settings for Mode API to avoid "Too many Requests" error. See Mode API Options below |
See Mode's Authentication documentation on how to generate token
and password
.
Mode API Options
Field | Required | Default | Description |
---|---|---|---|
retry_backoff_multiplier |
1 |
Multiplier for exponential backoff when waiting to retry | |
max_retry_interval |
10 |
Maximum interval to wait when retrying | |
max_attempts |
5 |
Maximum number of attempts to retry before failing |
Compatibility
N/A
Questions
If you've got any questions on configuring this source, feel free to ping us on our Slack!