2 ms·
> These functions can then be composed into a transformation pipeline instructions. Hamilton can then inspect this composition of functions and understand all o
by zmmmmm 5y ago
> These functions can then be composed into a transformation pipeline instructions. Hamilton can then inspect this composition of functions and understand all of the inter-dependencies, effectively constructing a DAG that can be used to visualize what exactly the pipeline is doing
It isn't immediately obvious but that is exactly what Spark does - it builds a DAG out of your operations and only lazily executes what it has to when asked for a result. But on top of that, a tremendous amount of work has gone into auto-optimising that DAG execution so it can be very very smart while allowing relatively natural expression of queries and transformations at the top level. This is all going to have to be re-invented if you try and replace the DAG front end and just use spark's execution back end.
- chrisjc 5y ago> This is all going to have to be re-invented if you try and replace the DAG front end and just use spark's execution back end. Again, I don't know enough about Hamilton, but I don't think it's a matter of replacing anything Spark does, or any other data execution runtime for that matter. It's just another layer, another abstraction. Hamilton -> Spark SQL/API -> Spark artifact -> Spark execution Hamilton -> Snowflake SQL -> Snowflake execution etc...