Sterling Paramore
06/06/2019, 4:18 PMdwall
06/06/2019, 4:39 PMschrockn
06/06/2019, 7:11 PM0.4.3.post4
. We are working towards a new release, 0.5.0
, planned for July 3rd. This release will include many new features, bug fixes, and improvements. Given that the release will include some breaking changes in the API as well as some fundamental new concepts, we want to be fully transparent so that there are no surprises.
Here is a (not exhaustive) list of changes that will be released:
• Substantial improvements to the documentation, including topic-based guides, such as testability, integration with Airflow, Dagster for data science, and others.
• A new fundamental unit of composition, similar to Airflow subdags, but far more first-class. Solids can themselves be graphs of solids, which can then compose/recurse to arbitrary subgraphs, along with Dagit support for navigating that.
• A new more literate python DSL for building a dependency graph, as a layer above the dictionary-based approach currently provided.
• Optional Python 3 type annotations for building the signatures of solids, to reduce verbosity.
• Support for execution on Dask and local multiprocessing in addition to local single process and Airflow.
• Fan-in dependencies for consolidating that allows a single input to depend on many outputs.
• [breaking] We are replacing the notion of context definitions with mode definitions, which we believe will make this part of the system far more approachable and opt-in.
• breaking] Renaming some definition inputs for greater consistency and understandability.
We are really excited for these new concepts, and we believe they will provide a stable, compelling base of features for the medium term. This will still be an evolving system, but we will be very deliberate and strive for backwards compatibility whenever possible. Thanks so much for using and experimenting with Dagster!fred
06/18/2019, 9:47 AMuser
07/04/2019, 3:19 AMjack
07/08/2019, 1:43 PM<solid>.compute
box on the right of the runs window before you can see that one of the expectations failed for that solid).
Do you have any plans to make, say, an aggregated report of failed expectations?
Even more than this, we have a computation graph where if an expectation fails then we don't want to propagate the results of that solid downstream because they might just be bogus. The risk here is that we end up automatically showing results to the user which are incorrect, and we'd obviously prefer to avoid this! What is you recommendation for this situation? Are expectations the right way to go? Or should we just be raising Failure
instead? One thing I tried was to apply a decorator to the method before the @solid
decorator, which "listens" for ExpectationResult
events and does a raise Failure
if it sees one which failed. Have you thought about putting something which signals to the runner to raise on failed expectations in the ExpectationResult
class?alex
07/08/2019, 3:23 PMDo you have any plans to make, say, an aggregated report of failed expectations?We are currently working on rendering the dagster events in a structured and much richer way in the log viewer. This combined with better filtering options should approximate this. Good feedback and something we'll keep in mind.
What is you recommendation for this situation?Great question, expectations are something we are super excited about and are actively iterating on quite a bit. I think if you always want these checks to cause the computation to cease - then raising
Failure
might be the right choice. Failure
can report the same metadata that ExpectationResult
can. If you want to be able to vary whether the computations continue or fail - then dagster having a way to toggle whether ExpectationResult
failures cause the step to fail makes a lot of sense (we would need to add this). In the short term I advise writing a little helper function that can do either ie yield expectation_check(check_result, metadata)
so you only have one place to change as you continue experimenting.user
07/08/2019, 11:14 PMTaylor
07/10/2019, 4:04 PMSolid
...
https://blog.fishtownanalytics.com/dbt-v0-14-0-better-serving-our-users-bf7cdbbcd5d2
https://docs.getdbt.com/docs/rpcJay Sen
07/10/2019, 6:11 PMJay Sen
07/10/2019, 6:12 PMJay Sen
07/10/2019, 6:12 PMJay Sen
07/10/2019, 8:32 PMuser
07/11/2019, 8:53 PMmax
07/11/2019, 8:55 PMPushkar
07/11/2019, 10:21 PMalex
07/11/2019, 10:26 PMalex
07/11/2019, 10:27 PMalex
07/11/2019, 10:27 PMdagit
in the examples
directorymax
07/11/2019, 10:30 PMmax
07/11/2019, 10:30 PMdagster/python_modules/dagstermill/dagstermill/examples
and run dagit, you should be able to execute the pipelines from therevillebro
07/12/2019, 6:03 PMmax
07/12/2019, 6:06 PMmax
07/12/2019, 6:06 PMmax
07/12/2019, 6:08 PMmax
07/12/2019, 6:08 PMmax
07/12/2019, 6:09 PMvillebro
07/12/2019, 6:29 PMmax
07/12/2019, 6:31 PMmax
07/12/2019, 6:32 PMmake install_dev_python_modules
max
07/12/2019, 6:32 PMmake install_dev_python_modules