Replies: 5 comments 21 replies
-
Great work here team! A quick question - I know there were plans to integrate dbt tests to this. Any idea when they would come to life? |
Beta Was this translation helpful? Give feedback.
-
A couple of feedback/observations when trying out the asset checks:
dagster._core.errors.DagsterInvariantViolationError: Received unexpected AssetCheckResult. It targets asset 'elementary/filtered_information_schema_columns' which is not targeted by any of the checks currently
Stack Trace:
File "/usr/local/lib/python3.11/site-packages/dagster/_core/execution/plan/execute_plan.py", line 273, in dagster_event_sequence_for_step
for step_event in check.generator(step_events):
File "/usr/local/lib/python3.11/site-packages/dagster/_core/execution/plan/execute_step.py", line 475, in core_dagster_event_sequence_for_step
for user_event in _step_output_error_checked_user_event_sequence(
File "/usr/local/lib/python3.11/site-packages/dagster/_core/execution/plan/execute_step.py", line 158, in _step_output_error_checked_user_event_sequence
for user_event in user_event_sequence:
File "/usr/local/lib/python3.11/site-packages/dagster/_core/execution/plan/execute_step.py", line 94, in _process_asset_results_to_events
yield from _process_user_event(step_context, user_event)
File "/usr/local/lib/python3.11/site-packages/dagster/_core/execution/plan/execute_step.py", line 129, in _process_user_event
asset_check_evaluation = user_event.to_asset_check_evaluation(step_context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/dagster/_core/definitions/asset_check_result.py", line 88, in to_asset_check_evaluation
raise DagsterInvariantViolationError(
{"data": {"execution_time": 2.1847, "index": 6, "name": "elementary_schema_changes_dim__dates_", "node_info": {"materialized": "test", "meta": {"dagster": {"asset_check": true}}, "node_finished_at": "2023-10-02
Elementary: Started running data monitors on: WAREHOUSE.ANALYTICS_DUKE.DIM__DATES quarter_end
Exception ignored in: <generator object DbtCliInvocation.stream_raw_events at 0x7fd4b0410f40>
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/dagster_dbt/core/resources_v2.py", line 316, in stream
yield from event.to_default_asset_events(
RuntimeError: generator ignored GeneratorExit |
Beta Was this translation helpful? Give feedback.
-
Hi, Thank you for this cool feature. I recently tried mage.ai, which I find more intuitive ( more python way) than Dagster (POO java way) in several aspects. https://docs.mage.ai/development/data-validation
With dagster, you have to make one function per test. Or use the yield operator in the asset. Why not use something like this:
|
Beta Was this translation helpful? Give feedback.
-
can an asset check depend on multiple assets? e.g., in DBT, a singular test may join together two DBT models to perform a data test. this test would need to run after both models have been materialized. edit: found this #16725 |
Beta Was this translation helpful? Give feedback.
-
We want to define asset checks on source/external assets. That seems to be partially supported.
|
Beta Was this translation helpful? Give feedback.
-
Important
Dagster asset checks are currently an experimental feature, and the API may change in future releases. During this period, checks do not consume Dagster Cloud Credits.
We've recently released a new
@asset_check
API as described in RFC: Asset checks. It includes:@asset_check
decorator for defining checks that run in their own Opcheck_specs
argument on@asset
for defining checks that execute in the same Op as the materializationWe'd love to get your feedback after trying these out! A basic example to get started:
This check will run whenever you materialize
my_asset
.See the docs for more.
Share feedback here, or in the #data-quality-asset-checks Slack channel.
Beta Was this translation helpful? Give feedback.
All reactions