mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-07-21 08:21:40 +00:00
93 lines
3.3 KiB
Markdown
93 lines
3.3 KiB
Markdown
![]() |
---
|
||
|
title: Ingest dbt CLI
|
||
|
slug: /connectors/ingestion/workflows/dbt/ingest-dbt-cli
|
||
|
---
|
||
|
|
||
|
# dbt Workflow CLI
|
||
|
Learn how to configure the dbt workflow from the cli to ingest dbt data from your data sources.
|
||
|
|
||
|
## CLI Configuration
|
||
|
|
||
|
Once the metadata ingestion runs correctly and we are able to explore the service Entities, we can add the dbt information.
|
||
|
|
||
|
This will populate the dbt tab from the Table Entity Page.
|
||
|
|
||
|
<Image src="/images/openmetadata/ingestion/workflows/dbt/dbt-features/dbt-query.png" alt="dbt" caption="dbt"/>
|
||
|
|
||
|
We can create a workflow that will obtain the dbt information from the dbt files and feed it to OpenMetadata. The dbt Ingestion will be in charge of obtaining this data.
|
||
|
|
||
|
### 1. Create the workflow configuration
|
||
|
|
||
|
Configure the dbt.yaml file according keeping only one of the required source (local, http, gcs, s3).
|
||
|
The dbt files should be present on the source mentioned and should have the necssary permissions to be able to access the files.
|
||
|
|
||
|
Enter the name of your database service from OpenMetadata in the `serviceName` key in the yaml
|
||
|
|
||
|
```yaml
|
||
|
source:
|
||
|
type: dbt
|
||
|
serviceName: service_name
|
||
|
sourceConfig:
|
||
|
config:
|
||
|
type: DBT
|
||
|
# For dbt, choose one of Cloud, Local, HTTP, S3 or GCS configurations
|
||
|
# dbtConfigSource:
|
||
|
# # For cloud
|
||
|
# dbtCloudAuthToken: token
|
||
|
# dbtCloudAccountId: ID
|
||
|
# dbtCloudProjectId: project_id
|
||
|
# # For Local
|
||
|
# dbtCatalogFilePath: path-to-catalog.json
|
||
|
# dbtManifestFilePath: path-to-manifest.json
|
||
|
# dbtRunResultsFilePath: path-to-run_results.json
|
||
|
# # For HTTP
|
||
|
# dbtCatalogHttpPath: http://path-to-catalog.json
|
||
|
# dbtManifestHttpPath: http://path-to-manifest.json
|
||
|
# dbtRunResultsHttpPath: http://path-to-run_results.json
|
||
|
# # For S3
|
||
|
# dbtSecurityConfig: # These are modeled after all AWS credentials
|
||
|
# awsAccessKeyId: KEY
|
||
|
# awsSecretAccessKey: SECRET
|
||
|
# awsRegion: us-east-2
|
||
|
# dbtPrefixConfig:
|
||
|
# dbtBucketName: bucket
|
||
|
# dbtObjectPrefix: "dbt/"
|
||
|
# # For GCS Values
|
||
|
# dbtSecurityConfig: # These are modeled after all GCS credentials
|
||
|
# gcsConfig:
|
||
|
# type: My Type
|
||
|
# projectId: project ID
|
||
|
# privateKeyId: us-east-2
|
||
|
# privateKey: |
|
||
|
# -----BEGIN PRIVATE KEY-----
|
||
|
# Super secret key
|
||
|
# -----END PRIVATE KEY-----
|
||
|
# clientEmail: client@mail.com
|
||
|
# clientId: 1234
|
||
|
# authUri: https://accounts.google.com/o/oauth2/auth (default)
|
||
|
# tokenUri: https://oauth2.googleapis.com/token (default)
|
||
|
# authProviderX509CertUrl: https://www.googleapis.com/oauth2/v1/certs (default)
|
||
|
# clientX509CertUrl: https://cert.url (URI)
|
||
|
# # For GCS Values
|
||
|
# dbtSecurityConfig: # These are modeled after all GCS credentials
|
||
|
# gcsConfig: path-to-credentials-file.json
|
||
|
# dbtPrefixConfig:
|
||
|
# dbtBucketName: bucket
|
||
|
# dbtObjectPrefix: "dbt/"
|
||
|
sink:
|
||
|
type: metadata-rest
|
||
|
config: {}
|
||
|
workflowConfig:
|
||
|
openMetadataServerConfig:
|
||
|
hostPort: http://localhost:8585/api
|
||
|
authProvider: no-auth
|
||
|
```
|
||
|
|
||
|
### 2. Run the dbt ingestion
|
||
|
|
||
|
After saving the YAML config, we will run the command for dbt ingestion
|
||
|
|
||
|
```bash
|
||
|
metadata ingest -c <path-to-yaml>
|
||
|
```
|