算子和表达式支持情况
介绍Spark引擎在Gluten上使用OmniOperator算子加速特性时,OmniOperator算子加速特性支持的算子、表达式及其数据类型列表。
在Gluten上使用OmniOperator算子加速特性时,该特性支持的算子、表达式、函数如表2和支持表达式列表所示,表格中使用符号表示算子和表达式是否支持,符号的含义请参见表1。
状态 |
说明 |
|---|---|
S |
表示支持该算子或表达式。 |
PS |
表示部分支持该算子或表达式,但存在一些限定条件。具体的限定条件请参见约束与限制。 |
NS |
表示不支持该算子或表达式。 |
NA |
表示不涉及该算子或表达式。开源版本Spark也没有此输入场景。 |
NA-2 |
表示基于开源版本Spark实现的上下文函数,不涉及OmniOperator算子加速特性。 |
[Blank Cell] |
表示不适用或需要确认。 |
支持算子列表
Spark引擎使用OmniOperator算子加速特性支持的算子情况如表2所示。
开源软件对应算子名称 |
OmniOperator算子加速特性算子名称 |
BOOLEAN |
INT |
LONG |
DOUBLE |
STRING |
CHAR |
VARCHAR |
DATE |
DECIMAL |
SHORT |
TIMESTAMP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
FileSourceScanExec |
FileSourceScanExecTransformer |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
ProjectExec |
ProjectExecTransformer |
S |
S |
S |
S |
S |
S |
S |
S |
S |
NS |
S |
FilterExec |
OmniFilterExecTransformer |
S |
S |
S |
S |
S |
S |
S |
S |
S |
NS |
S |
ExpandExec |
ExpandExecTransformer |
S |
S |
S |
S |
S |
S |
S |
S |
S |
NS |
S |
HashAggregateExec |
OmniHashAggregateExecTransformer |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
TopNSortExec |
OmniTopNSortTransformer |
S |
S |
S |
S |
S |
S |
S |
S |
S |
NS |
S |
SortExec |
SortExecTransformer |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
BroadcastExchangeExec |
ColumnarBroadcastExchangeExec |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
TakeOrderedAndProjectExec |
TakeOrderedAndProjectExecTransformer |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
UnionExec |
UnionExecTransformer |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
ShuffleExchangeExec |
OmniColumnarShuffleExchangeExec |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
BroadcastHashJoinExec |
OmniBroadcastHashJoinExecTransformer |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
SortMergeJoinExec |
OmniSortMergeJoinExecTransformer |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
WindowExec |
WindowExecTransformer |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
ShuffledHashJoinExec |
OmniShuffledHashJoinExecTransformer |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
LocalLimitExec |
ColumnarLocalLimitExec |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
GlobalLimitExec |
LimitExecTransformer |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
CoalesceExec |
ColumnarCoalesceExec |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
SubqueryBroadcastExec |
ColumnarSubqueryBroadcastExec |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
AQEShuffleReadExec |
OmniAQEShuffleReadExec |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |