-
Couldn't load subscription status.
- Fork 1.7k
Closed
Labels
EPICA larger project, actively underway, with sub tasksA larger project, actively underway, with sub tasksdevelopment-processRelated to development process of DataFusionRelated to development process of DataFusionenhancementNew feature or requestNew feature or requestsubstraitChanges to the substrait crateChanges to the substrait crate
Description
Is your feature request related to a problem or challenge?
Tracks substrait support progress
The rough goal of this ticket is:
- Support all basic operations that datafusion supports. I.e., reach the same coverage and functionalities as
datafusion-proto - Can co-operate with one or two external systems, like
spark-substrait.
Describe the solution you'd like
LogicalPlan
- CrossJoin Support crossjoin in substrait. #8427
- Repartition feat: implement Repartition plan in substrait #8526
- Subquery
- Values & EmptyRelation Support Substrait's VirtualTables #10531
- Unnest
The following logical plans I think we don't need to support:
- Statement
- Analyze
- Explain
- Prepare
- Dml
- Ddl
- Copy
- DescribeTable
Expression
- Negative feat: implement Unary Expr in substrait #8534
- SimilarTo
- Not feat: implement Unary Expr in substrait #8534
- IsTrue feat: implement Unary Expr in substrait #8534
- IsFalse feat: implement Unary Expr in substrait #8534
- IsUnknown feat: implement Unary Expr in substrait #8534
- IsNotTrue feat: implement Unary Expr in substrait #8534
- IsNotFalse feat: implement Unary Expr in substrait #8534
- IsNotUnknown feat: implement Unary Expr in substrait #8534
- TryCast
- Sort
- ScalarUDF
- Wildcard
- Exists
- GetIndexedField
- InSubquery Substrait support of InSubquery expressions #8362
- ScalarSubquery
- Alias Substrait doesn't support alias in projection #6489
The following exprs I think we don't need to support:
- OuterReferenceColumn
- Placeholder
Types and scalar
- Interval (YearMonth, DayTime, MonthDayNano) feat: add substrait support for Interval types and literals #10646
- Struct Add support for Substrait Struct literals and type #10622
- Duration (Second, Milli, Micro, Nano)
- View (Binary, List, UTF-8, LargeList)
- Map
- REE
- Time32, Time64
- Union
Meet the spec
- Define *.yaml for datafusion-specific extensions
- Provide URL for extension types
- Support compound signature with function names Support consuming Substrait with compound signature function names #10653
Test
- Pair test with external systems Integrate with the substrait integration test #10710
Others
Things that need further verification:
- Case-sensitivity for both consumer and producer
Describe alternatives you've considered
No response
Additional context
Substrait to DataFusion's physical plan is tracked at #5173
alamb, my-vegetable-has-exploded and renato2099
Metadata
Metadata
Assignees
Labels
EPICA larger project, actively underway, with sub tasksA larger project, actively underway, with sub tasksdevelopment-processRelated to development process of DataFusionRelated to development process of DataFusionenhancementNew feature or requestNew feature or requestsubstraitChanges to the substrait crateChanges to the substrait crate