Andy Carter
10/27/2023, 2:56 PMdagster
ext, and install dbt as part of that dagster
env to run meltano and then dbt in dagster. To put it another way, I don't have dbt as a top-level plugin in meltano.yml
. Would I still be able to use your extension or not?Stéphane Burwash
10/27/2023, 3:01 PMpip_url: elementary-data[bigquery] git+<https://github.com/potloc/elementary-ext>
If you add it in your dbt-project and download the dbt package dependencies, you should be good 😄Andy Carter
10/27/2023, 3:02 PMAndy Carter
10/27/2023, 3:02 PMAndy Carter
10/27/2023, 3:03 PMStéphane Burwash
10/27/2023, 3:09 PMAndy Carter
10/27/2023, 3:12 PMStéphane Burwash
10/27/2023, 3:13 PMStéphane Burwash
10/27/2023, 3:14 PMAndy Carter
10/27/2023, 4:06 PM2023-10-27 17:05:45 — ERROR — Could not generate the report - Error: Failed to run dbt command.
Encountered an error:
Runtime Error
Credentials in profile "elementary", target "default" invalid: Runtime Error
Could not find adapter type *****!
Please reach out to our community for help with this issue.
In my profiles.yml
elementary:
outputs:
default:
type: postgres
host: prod-dwh-...
user: postgres
password: VRx7cn...
port: 5432
database: dwh
schema: andy_elementary
Andy Carter
10/27/2023, 4:07 PM- name: elementary
variant: elementary
pip_url: elementary-data==0.12.0 git+<https://github.com/potloc/elementary-ext.git>
settings:
- name: file_path
kind: string
value: ${MELTANO_PROJECT_ROOT}/report.html
- name: project_dir
kind: string
value: ${MELTANO_PROJECT_ROOT}/orchestrate/dagster/my_project/
- name: profiles_dir
kind: string
value: ${MELTANO_PROJECT_ROOT}/orchestrate/dagster/my_project/
config:
profiles-dir: ${MELTANO_PROJECT_ROOT}/orchestrate/dagster/my_project/
project-dir: ${MELTANO_PROJECT_ROOT}/orchestrate/dagster/my_project/
file_path: ${MELTANO_PROJECT_ROOT}/report.html
Andy Carter
10/27/2023, 4:09 PMAny feedback and suggestions are welcomed! join our community here - <https://bit.ly/slack-elementary>
2023-10-27 17:05:35 — INFO — Running with edr=0.12.0
2023-10-27 17:05:38 — ERROR — Unable to get the latest invocation: Failed to run dbt command.
Encountered an error:
Runtime Error
Credentials in profile "elementary", target "default" invalid: Runtime Error
Could not find adapter type *****!
2023-10-27 17:05:43 — ERROR — Failed to parse Elementary's database and schema.
2023-10-27 17:05:43 — INFO — Running dbt --log-format json run-operation elementary.log_macro_results --args {"macro_name": "elementary_cli.get_test_results", "macro_args": {"days_back": 7, "invocations_per_test": 720, "disable_passed_test_metrics": false}} --project-dir /home/andycarter/vscode_projects/empiric_elt/empiric_meltano/.meltano/utilities/elementary/venv/lib/python3.10/site-packages/elementary/monitor/dbt_project --profiles-dir /home/andycarter/vscode_projects/empiric_elt/empiric_meltano/orchestrate/dagster/empiric_dbt
2023-10-27 17:05:45 — ERROR — Could not generate the report - Error: Failed to run dbt command.
Encountered an error:
Runtime Error
Credentials in profile "elementary", target "default" invalid: Runtime Error
Could not find adapter type *****!
Please reach out to our community for help with this issue.
NoneType: None
Andy Carter
10/27/2023, 4:20 PMelementary:initialise
but it overwrote a load of stuff in my existing DBT project dir! Is there a way I can pass an existing project dir to elementary:monitor_report
?Stéphane Burwash
10/27/2023, 4:57 PM- name: elementary
variant: elementary
pip_url: elementary-data[bigquery] git+<https://github.com/potloc/elementary-ext>
executable: elementary_invoker
settings:
- name: project_dir
kind: string
value: ${MELTANO_PROJECT_ROOT}/transform/
- name: profiles_dir
kind: string
value: ${MELTANO_PROJECT_ROOT}/transform/profiles/bigquery/
- name: file_path
kind: string
value: ${MELTANO_PROJECT_ROOT}/utilities/elementary/report.html
- name: skip_pre_invoke
env: ELEMENTARY_EXT_SKIP_PRE_INVOKE
kind: boolean
value: true
description:
Whether to skip pre-invoke hooks which automatically run dbt clean
and deps
- name: slack-token
kind: password
- name: slack-channel-name
kind: string
value: elementary-notifs
- name: google-service-account-path
kind: string
- name: gcs-bucket-name
kind: string
- name: days-back
kind: string
- name: env
kind: string
- name: config-dir-path
kind: string
commands:
initialize:
args: initialize
executable: elementary_extension
describe:
args: describe
executable: elementary_extension
monitor-report:
args: monitor-report
executable: elementary_extension
send-report-gcs: send-report
--google-service-account-path ${ELEMENTARY_GOOGLE_SERVICE_ACCOUNT_PATH}
--gcs-bucket-name ${ELEMENTARY_GCS_BUCKET_NAME}
--update-bucket-website true
--executions-limit 5
send-report-slack: send-report
--slack-token ${ELEMENTARY_SLACK_TOKEN}
--slack-channel-name ${ELEMENTARY_SLACK_CHANNEL_NAME}
monitor-send-report-slack: monitor send-report
--slack-token ${ELEMENTARY_SLACK_TOKEN}
--slack-channel-name ${ELEMENTARY_SLACK_CHANNEL_NAME}
monitor-slack: monitor
--slack-token ${ELEMENTARY_SLACK_TOKEN}
--slack-channel-name ${ELEMENTARY_SLACK_CHANNEL_NAME}
config:
profiles-dir: ${MELTANO_PROJECT_ROOT}/transform/profiles/bigquery/
file-path: ${MELTANO_PROJECT_ROOT}/utilities/elementary/report.html
slack-channel-name: team-data-engineering-notifications
google-service-account-path: ${MELTANO_PROJECT_ROOT}/.secrets/elementary-gcs.json
gcs-bucket-name: potloc-elementary-data-storage
skip_pre_invoke: true
env: prod
days-back: 1
This is an example config that I currently useAndy Carter
10/27/2023, 6:05 PMforce
as an arg here, and the default is False
, but project gets created either way. There's no check against force
if that's what you intended:
https://github.com/potloc/elementary-ext/blob/e62244435786a0ba74a51c0fbbe47d95ff6b1abd/elementary_ext/extension.py#L142Stéphane Burwash
10/27/2023, 6:14 PM