yiqijiu commented on PR #5556: URL: https://github.com/apache/hive/pull/5556#issuecomment-2509630350
@okumin @ngsg Hello, I finally managed to mock the issue. For example, with this statement `create table explain_multiple_ptf_big_table ( key1 string, value_str1 string, key3 string ); create table explain_multiple_ptf_big_table2 ( key21 string, value_str21 string, key23 string ); alter table explain_multiple_ptf_big_table update statistics set('numRows' = '9223372036854775', 'rawDataSize' = '9223372036854775807'); alter table explain_multiple_ptf_big_table2 update statistics set('numRows' = '9223372036854775', 'rawDataSize' = '9223372036854775807'); explain select *,row_number() over (partition by key order by key2 desc) rn, row_number() over (partition by key2 order by key desc) rn2, max(value_str) over (partition by key2 order by key desc) max1, max(value_str) over (partition by key order by key2 desc) max3, min(value_str) over (partition by key2 order by key desc) min1, min(value_str) over (partition by key order by key2 desc) min3, last_value(value_str) over (partition by key) lv, first_value(value_str) over (partition by key2) fv, max(value_str) over (partition by key) fv21 from (select key1 key, value_str1 value_str, key3 key2 from explain_multiple_ptf_big_table union all select key21 key, value_str21 value_str, key23 key2 from explain_multiple_ptf_big_table2) a1 ;` it produces the following result. `+----------------------------------------------------+ | Explain | +----------------------------------------------------+ | Plan optimized by CBO. | | | | Vertex dependency in root stage | | Map 1 <- Union 2 (CONTAINS) | | Map 8 <- Union 2 (CONTAINS) | | Reducer 3 <- Union 2 (SIMPLE_EDGE) | | Reducer 4 <- Reducer 3 (SIMPLE_EDGE) | | Reducer 5 <- Reducer 4 (SIMPLE_EDGE) | | Reducer 6 <- Reducer 5 (SIMPLE_EDGE) | | Reducer 7 <- Reducer 6 (SIMPLE_EDGE) | | | | Stage-0 | | Fetch Operator | | limit:-1 | | Stage-1 | | Reducer 7 | | File Output Operator [FS_26] | | Select Operator [SEL_24] (rows=18446744073709550 width=-475) | | Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11"] | | PTF Operator [PTF_23] (rows=18446744073709550 width=-475) | | Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col8 ASC NULLS FIRST","partition by:":"_col8"}] | | Select Operator [SEL_22] (rows=18446744073709550 width=-475) | | Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10"] | | <-Reducer 6 [SIMPLE_EDGE] | | SHUFFLE [RS_21] | | PartitionCols:_col7 | | Select Operator [SEL_20] (rows=18446744073709550 width=-475) | | Output:["first_value_window_7","_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9"] | | PTF Operator [PTF_19] (rows=18446744073709550 width=-475) | | Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col9 ASC NULLS FIRST","partition by:":"_col9"}] | | Select Operator [SEL_18] (rows=18446744073709550 width=-475) | | Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9"] | | <-Reducer 5 [SIMPLE_EDGE] | | SHUFFLE [RS_17] | | PartitionCols:_col8 | | Select Operator [SEL_16] (rows=18446744073709550 width=-475) | | Output:["first_value_window_6","_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"] | | PTF Operator [PTF_15] (rows=18446744073709550 width=-475) | | Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col6 DESC NULLS LAST","partition by:":"_col6"}] | | Select Operator [SEL_14] (rows=18446744073709550 width=-475) | | Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"] | | <-Reducer 4 [SIMPLE_EDGE] | | SHUFFLE [RS_13] | | PartitionCols:_col3 | | Select Operator [SEL_12] (rows=18446744073709550 width=-475) | | Output:["row_number_window_1","max_window_2","min_window_4","_col0","_col1","_col2","_col3","_col4","_col5"] | | PTF Operator [PTF_11] (rows=18446744073709550 width=-475) | | Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col3 DESC NULLS FIRST","partition by:":"_col5"}] | | Select Operator [SEL_10] (rows=18446744073709550 width=-475) | | Output:["_col0","_col1","_col2","_col3","_col4","_col5"] | | <-Reducer 3 [SIMPLE_EDGE] | | SHUFFLE [RS_9] | | PartitionCols:_col2 | | Select Operator [SEL_8] (rows=18446744073709550 width=-475) | | Output:["row_number_window_0","max_window_3","min_window_5","_col0","_col1","_col2"] | | PTF Operator [PTF_7] (rows=18446744073709550 width=-475) | | Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col2 DESC NULLS FIRST","partition by:":"_col0"}] | | Select Operator [SEL_6] (rows=18446744073709550 width=-475) | | Output:["_col0","_col1","_col2"] | | <-Union 2 [SIMPLE_EDGE] | | <-Map 1 [CONTAINS] vectorized | | Reduce Output Operator [RS_36] | | PartitionCols:_col0 | | Select Operator [SEL_35] (rows=9223372036854775 width=524) | | Output:["_col0","_col1","_col2"] | | TableScan [TS_27] (rows=9223372036854775 width=524) | | default@explain_multiple_ptf_big_table,explain_multiple_ptf_big_table,Tbl:COMPLETE,Col:NONE,Output:["key1","value_str1","key3"] | | <-Map 8 [CONTAINS] vectorized | | Reduce Output Operator [RS_43] | | PartitionCols:_col0 | | Select Operator [SEL_42] (rows=9223372036854775 width=524) | | Output:["_col0","_col1","_col2"] | | TableScan [TS_31] (rows=9223372036854775 width=524) | | default@explain_multiple_ptf_big_table2,explain_multiple_ptf_big_table2,Tbl:COMPLETE,Col:NONE,Output:["key21","value_str21","key23"] | | | +----------------------------------------------------+` -- 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: gitbox-unsubscr...@hive.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For additional commands, e-mail: gitbox-h...@hive.apache.org