blob: 4b3ab6865c7fca8676af94dfb56714ca7ea76dbc [file] [log] [blame]
== Abstract Syntax Tree ==
LogicalProject(category=[$0], shopId=[$1], sum_num=[$2], max_num=[$3], rank_num=[$4])
+- LogicalFilter(condition=[<=($4, 2)])
+- LogicalProject(category=[$0], shopId=[$1], sum_num=[$2], max_num=[$3], rank_num=[ROW_NUMBER() OVER (PARTITION BY $0 ORDER BY $2 DESC NULLS LAST, $3 NULLS FIRST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)])
+- LogicalTableScan(table=[[builtin, default, MyView]])
LogicalProject(category=[$0], shopId=[$1], avg_num=[$2], cnt_num=[$3], rank_num=[$4])
+- LogicalFilter(condition=[<=($4, 2)])
+- LogicalProject(category=[$0], shopId=[$1], avg_num=[$4], cnt_num=[$5], rank_num=[ROW_NUMBER() OVER (PARTITION BY $0 ORDER BY $4 DESC NULLS LAST, $5 NULLS FIRST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)])
+- LogicalTableScan(table=[[builtin, default, MyView]])
== Optimized Logical Plan ==
StreamExecCalc(select=[category, shopId, CASE(=($f3, 0), null, sum_num) AS sum_num, max_num, CAST(/(CAST(CASE(=($f3, 0), null, sum_num)), $f3)) AS avg_num, $f3 AS cnt_num], retract=[true], accMode=[AccRetract], reuse_id=[1])
+- StreamExecGroupAggregate(groupBy=[category, shopId], select=[category, shopId, $SUM0(num) AS sum_num, COUNT(num) AS $f3, MAX(num) AS max_num], retract=[true], accMode=[AccRetract])
+- StreamExecExchange(distribution=[hash[category, shopId]], retract=[true], accMode=[Acc])
+- StreamExecDataStreamScan(table=[[builtin, default, _DataStreamTable_0]], retract=[true], accMode=[Acc])
StreamExecSink(fields=[category, shopId, sum_num, max_num, rank_num], retract=[false], accMode=[AccRetract])
+- StreamExecCalc(select=[category, shopId, sum_num, max_num, w0$o0], retract=[true], accMode=[AccRetract])
+- StreamExecRank(rankFunction=[ROW_NUMBER], partitionBy=[category], orderBy=[sum_num DESC, max_num ASC], rankRange=[rankStart=1, rankEnd=2], strategy=[RetractRank], select=[*, rowNum], retract=[true], accMode=[AccRetract])
+- StreamExecExchange(distribution=[hash[category]], retract=[true], accMode=[AccRetract])
+- Reused(reference_id=[1])
StreamExecSink(fields=[category, shopId, avg_num, cnt_num, rank_num], retract=[false], accMode=[AccRetract])
+- StreamExecCalc(select=[category, shopId, avg_num, cnt_num, w0$o0], retract=[true], accMode=[AccRetract])
+- StreamExecRank(rankFunction=[ROW_NUMBER], partitionBy=[category], orderBy=[avg_num DESC, cnt_num ASC], rankRange=[rankStart=1, rankEnd=2], strategy=[RetractRank], select=[*, rowNum], retract=[true], accMode=[AccRetract])
+- StreamExecExchange(distribution=[hash[category]], retract=[true], accMode=[AccRetract])
+- Reused(reference_id=[1])
== Physical Execution Plan ==
: Data Source
content : collect elements with CollectionInputFormat
: Operator
content : SourceConversion(table:[builtin, default, _DataStreamTable_0], fields:(category, shopId, num))
ship_strategy : FORWARD
: Operator
content : GroupAggregate(groupBy: (category, shopId), select: (category, shopId, $SUM0(num) AS sum_num, COUNT(num) AS $f3, MAX(num) AS max_num))
ship_strategy : HASH
: Operator
content : Calc(select: (category, shopId, (($f3 = 0) CASE null CASE sum_num) AS sum_num, max_num, CAST((CAST((($f3 = 0) CASE null CASE sum_num)) / $f3)) AS avg_num, $f3 AS cnt_num))
ship_strategy : FORWARD
: Operator
content : RetractRank(orderBy: (sum_num DESC, max_num ASC), partitionBy: (category), *, rowNum, rankStart=1, rankEnd=2)
ship_strategy : HASH
: Operator
content : Calc(select: (category, shopId, sum_num, max_num, w0$o0))
ship_strategy : FORWARD
: Operator
content : SinkConversion to Tuple2
ship_strategy : FORWARD
: Operator
content : Map
ship_strategy : FORWARD
: Operator
content : RetractRank(orderBy: (avg_num DESC, cnt_num ASC), partitionBy: (category), *, rowNum, rankStart=1, rankEnd=2)
ship_strategy : HASH
: Operator
content : Calc(select: (category, shopId, avg_num, cnt_num, w0$o0))
ship_strategy : FORWARD
: Operator
content : SinkConversion to Tuple2
ship_strategy : FORWARD
: Operator
content : Map
ship_strategy : FORWARD
: Data Sink
content : Sink: TestingRetractTableSink
ship_strategy : FORWARD
: Data Sink
content : Sink: TestingRetractTableSink
ship_strategy : FORWARD