texera
texera copied to clipboard
Enhance incremental computation support in Texera
This PR enhances incremental computation support in Texera, including:
- Added an incremental aggregation framework. Specifically:
-
PartialAggregateOpExecandFinalAggregateOpExecare updated to use incremental computation. They will perdoically emit partial results to downstream. -
AggregateandLineChartoperators now use the new aggregation framework. Other aggregate-based visualizations are not using it as they are now implemented with Python UDFs and HTML visualizations. -
WordCloudis not using the new framework, asWordCloudis a special top-k aggregation.
- Added a general incremental computation option for all operators. Specifically:
- Added a new option
supportRetractableInputto indicate whether an operator support retractions as input tuples. - Added a new incremental computation enforcer that rewrites the workflow based on incremental computation requirements. It propagate the incremental properties and adds a "consolidate" operator if necessary.
- Added a simple incremental join operator.
For detailed technical presentation on incremental computation, see this slide and descriptions in this PR
will revisit after complier refactoring.
@zuozhiw do you want to work with me to finish this PR?