Comments (8)
Hey Alex, you're right that this is confusing. Currently, joins attempt to match on either invocation_id
or dbt_cloud_run_id
, see here. A couple of ideas to overcome this while still being able to use the upload_dbt_artifacts
run-operation:
- Use an environment variable which can be used to match the
manifest.json
to therun_results.json
. You'd have to come up with a way to make sure the value was changed whenever you modified the project, and add the environment variable as an additional join key in the models. A PR would be very welcome for this, perhaps the env var could be calledDBT_ENV_CUSTOM_ENV_DBT_ARTIFACTS_JOIN_KEY
. - (Change to dbt-core required) A new metadata key in
run_results.json
andmanifest.json
is added as a hash of the entire project. This is definitely the best solution as it wouldn't require any manually configured environment variables.
from dbt_artifacts.
Another effect of this issue is that in dbt Cloud where one job has multiple dbt run
s that need to have artifacts recorded, we can't reliably identify the pairs of eg. manifest + run_results.
from dbt_artifacts.
Another effect of this issue is that in dbt Cloud where one job has multiple
dbt run
s that need to have artifacts recorded, we can't reliably identify the pairs of eg. manifest + run_results.
In this instance, you could actually join any of the manifest.json
s which match on the dbt_cloud_run_id
, as the manifest.json
generated by each dbt run
command within the same dbt Cloud run will be identical. It would require a couple modifications to the package to deduplicate manifests on the dbt_cloud_run_id
.
from dbt_artifacts.
@NiallRees - I think that #81 solves this. If you agree can you close this issue?
from dbt_artifacts.
@NiallRees - I think that #81 solves this. If you agree can you close this issue?
I'm not sure that it does, but the specific issue of the invocation ID changing can't be resolved by dbt_artifacts. I've outlined a couple of ways forward in #53 (comment), would be happy to see a follow-up issue or PR for those.
from dbt_artifacts.
@DVAlexHiggs See the linked pull request above for a proper solve!
from dbt_artifacts.
Hi! Thanks so much. I'm gonna try this out. Any idea when it will hit release?
from dbt_artifacts.
Using --no-write-json
should solve the problem you were encountering today. The work going on currently should be released in the next week.
from dbt_artifacts.
Related Issues (20)
- [Feature]: PostgreSQL support HOT 2
- [Bug]: Upload model is having incorrect column order HOT 1
- [Bug]: HOT 2
- [Bug] Had an issue upgrading dbt-artifact to 2.6.0 HOT 4
- [Feature]: Support for AWS Athena HOT 1
- [Bug]: test "failures" has a misleading definition HOT 1
- [Bug]: The latest dbt_artifacts version is not compatible with dbt 1.7.0 HOT 1
- [Bug]: dbt-project.yml file of the dbt-artifacts 2.6.1 version excludes dbt versions 1.7.0 and above HOT 1
- [Bug]: ROWS_AFFECTED column in table FCT_DBT__MODEL_EXECUTIONS shows always 1 HOT 1
- [Bug]: Error creating sql incremental model dbt_artifacts.invocations
- [Feature]: Snapshots of "source" tables?
- [Feature]: support for duckdb
- [Bug]: 'dict object' has no attribute 'raw_code' - incompatibility with other packages HOT 2
- [Bug]: Object of type date is not JSON serializable
- [Bug]: Parsing Error in dbt Artifacts JSON Conversion of Source with Case-Sensitive Column Names in Filters for dbt freshness
- [Bug]: Syntax error while creating all staging models in dbt artifacts HOT 1
- Support dbt v1.8 HOT 2
- [Bug]: "compile_started_at" and "query_completed_at" times for test get extracted from wrong object resulting in nulls HOT 1
- [Bug]: Concurrency issue in Snowflake when running upload_results macro
- [Feature]: Include relation_name in test_executions for table reference after store-failures
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dbt_artifacts.