zhztheplayer commented on issue #6790:
URL:
https://github.com/apache/incubator-gluten/issues/6790#issuecomment-2295598543
@wenfang6 How do you use 3.2.1 with Gluten?
I ran the same query with 3.2.2 which is the default supported 3.2 version
and no error occurred.
The following is the explained query plan:
```
+- == Final Plan ==
VeloxColumnarToRowExec
+- TakeOrderedAndProjectExecTransformer (limit=100, orderBy=[_pre_3#3924
ASC NULLS FIRST,cc_name#2900 ASC NULLS FIRST],
output=[i_category#2102,i_brand#2098,cc_name#2900,d_year#2516L,d_moy#2518L,avg_monthly_sales#3204,sum_sales#3203,psum#3206,nsum#3207])
+- ^(18) ProjectExecTransformer [i_category#2102, i_brand#2098,
cc_name#2900, d_year#2516L, d_moy#2518L, avg_monthly_sales#3204,
sum_sales#3203, sum_sales#3227 AS psum#3206, sum_sales#3235 AS nsum#3207,
CheckOverflow((promote_precision(cast(sum_sales#3203 as decimal(22,6))) -
promote_precision(cast(avg_monthly_sales#3204 as decimal(22,6)))),
DecimalType(22,6), true) AS _pre_3#3924]
+- ^(18) BroadcastHashJoinExecTransformer [i_category#2102,
i_brand#2098, cc_name#2900, rn#3205], [i_category#3619, i_brand#3615,
cc_name#3697, (rn#3726 - 1)], Inner, BuildRight, false
:- ^(18) ProjectExecTransformer [i_category#2102, i_brand#2098,
cc_name#2900, d_year#2516L, d_moy#2518L, sum_sales#3203,
avg_monthly_sales#3204, rn#3205, sum_sales#3227]
: +- ^(18) BroadcastHashJoinExecTransformer [i_category#2102,
i_brand#2098, cc_name#2900, rn#3205], [i_category#3499, i_brand#3495,
cc_name#3577, (rn#3606 + 1)], Inner, BuildRight, false
: :- ^(18) ProjectExecTransformer [i_category#2102,
i_brand#2098, cc_name#2900, d_year#2516L, d_moy#2518L, sum_sales#3203,
avg_monthly_sales#3204, rn#3205]
: : +- ^(18) FilterExecTransformer
((isnotnull(avg_monthly_sales#3204) AND (avg_monthly_sales#3204 > 0.000000))
AND
(CheckOverflow((promote_precision(abs(CheckOverflow((promote_precision(cast(sum_sales#3203
as decimal(22,6))) - promote_precision(cast(avg_monthly_sales#3204 as
decimal(22,6)))), DecimalType(22,6), true), false)) /
promote_precision(cast(avg_monthly_sales#3204 as decimal(22,6)))),
DecimalType(38,16), true) > 0.1000000000000000))
: : +- ^(18) WindowExecTransformer [avg(_w0#3221)
windowspecdefinition(i_category#2102, i_brand#2098, cc_name#2900, d_year#2516L,
specifiedwindowframe(RowFrame, unboundedpreceding$(), unboundedfollowing$()))
AS avg_monthly_sales#3204], [i_category#2102, i_brand#2098, cc_name#2900,
d_year#2516L]
: : +- ^(18) FilterExecTransformer
(isnotnull(d_year#2516L) AND (d_year#2516L = 1999))
: : +- ^(18) WindowExecTransformer
[rank(d_year#2516L, d_moy#2518L) windowspecdefinition(i_category#2102,
i_brand#2098, cc_name#2900, d_year#2516L ASC NULLS FIRST, d_moy#2518L ASC NULLS
FIRST, specifiedwindowframe(RowFrame, unboundedpreceding$(), currentrow$())) AS
rn#3205], [i_category#2102, i_brand#2098, cc_name#2900], [d_year#2516L ASC
NULLS FIRST, d_moy#2518L ASC NULLS FIRST]
: : +- ^(18) SortExecTransformer
[i_category#2102 ASC NULLS FIRST, i_brand#2098 ASC NULLS FIRST, cc_name#2900
ASC NULLS FIRST, d_year#2516L ASC NULLS FIRST, d_moy#2518L ASC NULLS FIRST],
false, 0
: : +- ^(18)
InputIteratorTransformer[i_category#2102, i_brand#2098, cc_name#2900,
d_year#2516L, d_moy#2518L, sum_sales#3203, _w0#3221]
: : +- ShuffleQueryStage 20
: : +- ColumnarExchange
hashpartitioning(i_category#2102, i_brand#2098, cc_name#2900, 100),
ENSURE_REQUIREMENTS, [i_category#2102, i_brand#2098, cc_name#2900,
d_year#2516L, d_moy#2518L, sum_sales#3203, _w0#3221], [plan_id=4533],
[shuffle_writer_type=hash], [OUTPUT] List(i_category:StringType,
i_brand:StringType, cc_name:StringType, d_year:LongType, d_moy:LongType,
sum_sales:DecimalType(17,2), _w0:DecimalType(17,2)), [OUTPUT]
List(i_category:StringType, i_brand:StringType, cc_name:StringType,
d_year:LongType, d_moy:LongType, sum_sales:DecimalType(17,2),
_w0:DecimalType(17,2))
: : +- VeloxResizeBatches 1024,
2147483647
: : +- ^(13)
ProjectExecTransformer [hash(i_category#2102, i_brand#2098, cc_name#2900, 42)
AS hash_partition_key#3857, i_category#2102, i_brand#2098, cc_name#2900,
d_year#2516L, d_moy#2518L,
MakeDecimal(sum(UnscaledValue(cs_sales_price#2750))#3210L,17,2) AS
sum_sales#3203, MakeDecimal(sum(UnscaledValue(cs_sales_price#2750))#3210L,17,2)
AS _w0#3221]
: : +- ^(13)
HashAggregateTransformer(keys=[i_category#2102, i_brand#2098, cc_name#2900,
d_year#2516L, d_moy#2518L],
functions=[sum(UnscaledValue(cs_sales_price#2750))], isStreamingAgg=false,
output=[i_category#2102, i_brand#2098, cc_name#2900, d_year#2516L, d_moy#2518L,
sum(UnscaledValue(cs_sales_price#2750))#3210L])
: : +- ^(13)
InputIteratorTransformer[i_category#2102, i_brand#2098, cc_name#2900,
d_year#2516L, d_moy#2518L, sum#3728L]
: : +- AQEShuffleRead
coalesced
: : +-
ShuffleQueryStage 15
: : +-
ColumnarExchange hashpartitioning(i_category#2102, i_brand#2098, cc_name#2900,
d_year#2516L, d_moy#2518L, 100), ENSURE_REQUIREMENTS, [i_category#2102,
i_brand#2098, cc_name#2900, d_year#2516L, d_moy#2518L, sum#3728L],
[plan_id=3929], [shuffle_writer_type=hash], [OUTPUT]
List(i_category:StringType, i_brand:StringType, cc_name:StringType,
d_year:LongType, d_moy:LongType, sum:LongType), [OUTPUT]
List(i_category:StringType, i_brand:StringType, cc_name:StringType,
d_year:LongType, d_moy:LongType, sum:LongType)
: : +-
VeloxResizeBatches 1024, 2147483647
: : +-
^(10) ProjectExecTransformer [hash(i_category#2102, i_brand#2098, cc_name#2900,
d_year#2516L, d_moy#2518L, 42) AS hash_partition_key#3823, i_category#2102,
i_brand#2098, cc_name#2900, d_year#2516L, d_moy#2518L, sum#3728L]
: : +-
^(10) FlushableHashAggregateTransformer(keys=[i_category#2102, i_brand#2098,
cc_name#2900, d_year#2516L, d_moy#2518L],
functions=[partial_sum(_pre_0#3820L)], isStreamingAgg=false,
output=[i_category#2102, i_brand#2098, cc_name#2900, d_year#2516L, d_moy#2518L,
sum#3728L])
: :
+- ^(10) ProjectExecTransformer [i_brand#2098, i_category#2102,
cs_sales_price#2750, d_year#2516L, d_moy#2518L, cc_name#2900,
UnscaledValue(cs_sales_price#2750) AS _pre_0#3820L]
: :
+- ^(10) BroadcastHashJoinExecTransformer [cs_call_center_sk#2740L],
[cc_call_center_sk#2894L], Inner, BuildRight, false
: :
:- ^(10) ProjectExecTransformer [i_brand#2098, i_category#2102,
cs_call_center_sk#2740L, cs_sales_price#2750, d_year#2516L, d_moy#2518L]
: :
: +- ^(10) BroadcastHashJoinExecTransformer [cs_sold_date_sk#2729L],
[d_date_sk#2510L], Inner, BuildRight, false
: :
: :- ^(10) ProjectExecTransformer [i_brand#2098, i_category#2102,
cs_sold_date_sk#2729L, cs_call_center_sk#2740L, cs_sales_price#2750]
: :
: : +- ^(10) BroadcastHashJoinExecTransformer [i_item_sk#2090L],
[cs_item_sk#2744L], Inner, BuildLeft, false
: :
: : :- ^(10) InputIteratorTransformer[i_item_sk#2090L,
i_brand#2098, i_category#2102]
: :
: : : +- BroadcastQueryStage 0
: :
: : : +- ColumnarBroadcastExchange
HashedRelationBroadcastMode(List(input[0, bigint, false]),false), [plan_id=2809]
: :
: : : +- ^(1) FilterExecTransformer
((isnotnull(i_item_sk#2090L) AND isnotnull(i_category#2102)) AND
isnotnull(i_brand#2098))
: :
: : : +- ^(1) NativeFileScan parquet
default.item[i_item_sk#2090L,i_brand#2098,i_category#2102] Batched: true,
DataFilters: [isnotnull(i_item_sk#2090L), isnotnull(i_category#2102),
isnotnull(i_brand#2098)], Format: Parquet, Location: InMemoryFileIndex(1
paths)[file:/tmp/tpcds-generated-1.0/item], PartitionFilters: [],
PushedFilters: [IsNotNull(i_item_sk), IsNotNull(i_category),
IsNotNull(i_brand)], ReadSchema:
struct<i_item_sk:bigint,i_brand:string,i_category:string>
: :
: : +- ^(10) FilterExecTransformer ((isnotnull(cs_item_sk#2744L)
AND isnotnull(cs_sold_date_sk#2729L)) AND isnotnull(cs_call_center_sk#2740L))
: :
: : +- ^(10) NativeFileScan parquet
default.catalog_sales[cs_sold_date_sk#2729L,cs_call_center_sk#2740L,cs_item_sk#2744L,cs_sales_price#2750]
Batched: true, DataFilters: [isnotnull(cs_item_sk#2744L),
isnotnull(cs_sold_date_sk#2729L), isnotnull(cs_call_center_sk#2740L)], Format:
Parquet, Location: InMemoryFileIndex(1
paths)[file:/tmp/tpcds-generated-1.0/catalog_sales], PartitionFilters: [],
PushedFilters: [IsNotNull(cs_item_sk), IsNotNull(cs_sold_date_sk),
IsNotNull(cs_call_center_sk)], ReadSchema:
struct<cs_sold_date_sk:bigint,cs_call_center_sk:bigint,cs_item_sk:bigint,cs_sales_price:decimal(7...
: :
: +- ^(10) InputIteratorTransformer[d_date_sk#2510L, d_year#2516L,
d_moy#2518L]
: :
: +- BroadcastQueryStage 1
: :
: +- ColumnarBroadcastExchange
HashedRelationBroadcastMode(List(input[0, bigint, false]),false), [plan_id=2841]
: :
: +- ^(2) FilterExecTransformer ((((d_year#2516L = 1999) OR
((d_year#2516L = 1998) AND (d_moy#2518L = 12))) OR ((d_year#2516L = 2000) AND
(d_moy#2518L = 1))) AND isnotnull(d_date_sk#2510L))
: :
: +- ^(2) NativeFileScan parquet
default.date_dim[d_date_sk#2510L,d_year#2516L,d_moy#2518L] Batched: true,
DataFilters: [(((d_year#2516L = 1999) OR ((d_year#2516L = 1998) AND
(d_moy#2518L = 12))) OR ((d_year#2516L = 2..., Format: Parquet, Location:
InMemoryFileIndex(1 paths)[file:/tmp/tpcds-generated-1.0/date_dim],
PartitionFilters: [], PushedFilters:
[Or(Or(EqualTo(d_year,1999),And(EqualTo(d_year,1998),EqualTo(d_moy,12))),And(EqualTo(d_year,2000)...,
ReadSchema: struct<d_date_sk:bigint,d_year:bigint,d_moy:bigint>
: :
+- ^(10) InputIteratorTransformer[cc_call_center_sk#2894L, cc_name#2900]
: :
+- BroadcastQueryStage 2
: :
+- ColumnarBroadcastExchange
HashedRelationBroadcastMode(List(input[0, bigint, false]),false), [plan_id=2873]
: :
+- ^(3) FilterExecTransformer (isnotnull(cc_call_center_sk#2894L)
AND isnotnull(cc_name#2900))
: :
+- ^(3) NativeFileScan parquet
default.call_center[cc_call_center_sk#2894L,cc_name#2900] Batched: true,
DataFilters: [isnotnull(cc_call_center_sk#2894L), isnotnull(cc_name#2900)],
Format: Parquet, Location: InMemoryFileIndex(1
paths)[file:/tmp/tpcds-generated-1.0/call_center], PartitionFilters: [],
PushedFilters: [IsNotNull(cc_call_center_sk), IsNotNull(cc_name)], ReadSchema:
struct<cc_call_center_sk:bigint,cc_name:string>
: +- ^(18) InputIteratorTransformer[i_category#3499,
i_brand#3495, cc_name#3577, sum_sales#3227, rn#3606]
: +- BroadcastQueryStage 24
: +- ColumnarBroadcastExchange
HashedRelationBroadcastMode(List(input[0, string, true], input[1, string,
true], input[2, string, true], (input[4, int, false] + 1)),false),
[plan_id=4910]
: +- ^(16) ProjectExecTransformer [i_category#3499,
i_brand#3495, cc_name#3577, sum_sales#3203 AS sum_sales#3227, rn#3606]
: +- ^(16) WindowExecTransformer
[rank(d_year#3549L, d_moy#3551L) windowspecdefinition(i_category#3499,
i_brand#3495, cc_name#3577, d_year#3549L ASC NULLS FIRST, d_moy#3551L ASC NULLS
FIRST, specifiedwindowframe(RowFrame, unboundedpreceding$(), currentrow$())) AS
rn#3606], [i_category#3499, i_brand#3495, cc_name#3577], [d_year#3549L ASC
NULLS FIRST, d_moy#3551L ASC NULLS FIRST]
: +- ^(16) SortExecTransformer
[i_category#3499 ASC NULLS FIRST, i_brand#3495 ASC NULLS FIRST, cc_name#3577
ASC NULLS FIRST, d_year#3549L ASC NULLS FIRST, d_moy#3551L ASC NULLS FIRST],
false, 0
: +- ^(16)
InputIteratorTransformer[i_category#3499, i_brand#3495, cc_name#3577,
d_year#3549L, d_moy#3551L, sum_sales#3203]
: +- AQEShuffleRead coalesced
: +- ShuffleQueryStage 21
: +- ColumnarExchange
hashpartitioning(i_category#3499, i_brand#3495, cc_name#3577, 100),
ENSURE_REQUIREMENTS, [i_category#3499, i_brand#3495, cc_name#3577,
d_year#3549L, d_moy#3551L, sum_sales#3203], [plan_id=4609],
[shuffle_writer_type=hash], [OUTPUT] List(i_category:StringType,
i_brand:StringType, cc_name:StringType, d_year:LongType, d_moy:LongType,
sum_sales:DecimalType(17,2)), [OUTPUT] List(i_category:StringType,
i_brand:StringType, cc_name:StringType, d_year:LongType, d_moy:LongType,
sum_sales:DecimalType(17,2))
: +- VeloxResizeBatches 1024,
2147483647
: +- ^(14)
ProjectExecTransformer [hash(i_category#3499, i_brand#3495, cc_name#3577, 42)
AS hash_partition_key#3866, i_category#3499, i_brand#3495, cc_name#3577,
d_year#3549L, d_moy#3551L,
MakeDecimal(sum(UnscaledValue(cs_sales_price#3530))#3210L,17,2) AS
sum_sales#3203]
: +- ^(14)
HashAggregateTransformer(keys=[i_category#3499, i_brand#3495, cc_name#3577,
d_year#3549L, d_moy#3551L],
functions=[sum(UnscaledValue(cs_sales_price#3530))], isStreamingAgg=false,
output=[i_category#3499, i_brand#3495, cc_name#3577, d_year#3549L, d_moy#3551L,
sum(UnscaledValue(cs_sales_price#3530))#3210L])
: +- ^(14)
InputIteratorTransformer[i_category#3499, i_brand#3495, cc_name#3577,
d_year#3549L, d_moy#3551L, sum#3730L]
: +-
AQEShuffleRead coalesced
: +-
ShuffleQueryStage 17
: +-
ReusedExchange [i_category#3499, i_brand#3495, cc_name#3577, d_year#3549L,
d_moy#3551L, sum#3730L], ColumnarExchange hashpartitioning(i_category#2102,
i_brand#2098, cc_name#2900, d_year#2516L, d_moy#2518L, 100),
ENSURE_REQUIREMENTS, [i_category#2102, i_brand#2098, cc_name#2900,
d_year#2516L, d_moy#2518L, sum#3728L], [plan_id=3929],
[shuffle_writer_type=hash], [OUTPUT] List(i_category:StringType,
i_brand:StringType, cc_name:StringType, d_year:LongType, d_moy:LongType,
sum:LongType)
+- ^(18) InputIteratorTransformer[i_category#3619, i_brand#3615,
cc_name#3697, sum_sales#3235, rn#3726]
+- BroadcastQueryStage 26
+- ReusedExchange [i_category#3619, i_brand#3615,
cc_name#3697, sum_sales#3235, rn#3726], ColumnarBroadcastExchange
HashedRelationBroadcastMode(List(input[0, string, true], input[1, string,
true], input[2, string, true], (input[4, int, false] + 1)),false),
[plan_id=4910]
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]