PREHOOK: query: -- SORT_QUERY_RESULTS
--
-- FILE VARIATION: ORC, Non-Vectorized, MapWork, Partitioned
--
------------------------------------------------------------------------------------------
-- SECTION: ALTER TABLE ADD COLUMNS
--
--
-- SUBSECTION: ALTER TABLE ADD COLUMNS: INT PERMUTE SELECT
--
--
CREATE TABLE part_add_int_permute_select(insert_num int, a INT, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_add_int_permute_select
POSTHOOK: query: -- SORT_QUERY_RESULTS
--
-- FILE VARIATION: ORC, Non-Vectorized, MapWork, Partitioned
--
------------------------------------------------------------------------------------------
-- SECTION: ALTER TABLE ADD COLUMNS
--
--
-- SUBSECTION: ALTER TABLE ADD COLUMNS: INT PERMUTE SELECT
--
--
CREATE TABLE part_add_int_permute_select(insert_num int, a INT, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_add_int_permute_select
PREHOOK: query: DESCRIBE FORMATTED part_add_int_permute_select
PREHOOK: type: DESCTABLE
PREHOOK: Input: default@part_add_int_permute_select
POSTHOOK: query: DESCRIBE FORMATTED part_add_int_permute_select
POSTHOOK: type: DESCTABLE
POSTHOOK: Input: default@part_add_int_permute_select
col_name	data_type	comment
# col_name            	data_type           	comment             
	 	 
insert_num          	int                 	                    
a                   	int                 	                    
b                   	string              	                    
	 	 
# Partition Information	 	 
# col_name            	data_type           	comment             
	 	 
part                	int                 	                    
	 	 
# Detailed Table Information	 	 
Database:           	default             	 
#### A masked pattern was here ####
Retention:          	0                   	 
#### A masked pattern was here ####
Table Type:         	MANAGED_TABLE       	 
Table Parameters:	 	 
#### A masked pattern was here ####
	 	 
# Storage Information	 	 
SerDe Library:      	org.apache.hadoop.hive.ql.io.orc.OrcSerde	 
InputFormat:        	org.apache.hadoop.hive.ql.io.orc.OrcInputFormat	 
OutputFormat:       	org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat	 
Compressed:         	No                  	 
Num Buckets:        	-1                  	 
Bucket Columns:     	[]                  	 
Sort Columns:       	[]                  	 
Storage Desc Params:	 	 
	serialization.format	1                   
PREHOOK: query: insert into table part_add_int_permute_select partition(part=1)
    values (1, 1, 'original'),
           (2, 2, 'original'),
           (3, 3, 'original'),
           (4, 4, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__1
PREHOOK: Output: default@part_add_int_permute_select@part=1
POSTHOOK: query: insert into table part_add_int_permute_select partition(part=1)
    values (1, 1, 'original'),
           (2, 2, 'original'),
           (3, 3, 'original'),
           (4, 4, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__1
POSTHOOK: Output: default@part_add_int_permute_select@part=1
POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=1).a EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=1).b SIMPLE [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2
PREHOOK: query: -- Table-Non-Cascade ADD COLUMNS ...
alter table part_add_int_permute_select add columns(c int)
PREHOOK: type: ALTERTABLE_ADDCOLS
PREHOOK: Input: default@part_add_int_permute_select
PREHOOK: Output: default@part_add_int_permute_select
POSTHOOK: query: -- Table-Non-Cascade ADD COLUMNS ...
alter table part_add_int_permute_select add columns(c int)
POSTHOOK: type: ALTERTABLE_ADDCOLS
POSTHOOK: Input: default@part_add_int_permute_select
POSTHOOK: Output: default@part_add_int_permute_select
PREHOOK: query: DESCRIBE FORMATTED part_add_int_permute_select
PREHOOK: type: DESCTABLE
PREHOOK: Input: default@part_add_int_permute_select
POSTHOOK: query: DESCRIBE FORMATTED part_add_int_permute_select
POSTHOOK: type: DESCTABLE
POSTHOOK: Input: default@part_add_int_permute_select
col_name	data_type	comment
# col_name            	data_type           	comment             
	 	 
insert_num          	int                 	                    
a                   	int                 	                    
b                   	string              	                    
c                   	int                 	                    
	 	 
# Partition Information	 	 
# col_name            	data_type           	comment             
	 	 
part                	int                 	                    
	 	 
# Detailed Table Information	 	 
Database:           	default             	 
#### A masked pattern was here ####
Retention:          	0                   	 
#### A masked pattern was here ####
Table Type:         	MANAGED_TABLE       	 
Table Parameters:	 	 
#### A masked pattern was here ####
	 	 
# Storage Information	 	 
SerDe Library:      	org.apache.hadoop.hive.ql.io.orc.OrcSerde	 
InputFormat:        	org.apache.hadoop.hive.ql.io.orc.OrcInputFormat	 
OutputFormat:       	org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat	 
Compressed:         	No                  	 
Num Buckets:        	-1                  	 
Bucket Columns:     	[]                  	 
Sort Columns:       	[]                  	 
Storage Desc Params:	 	 
	serialization.format	1                   
PREHOOK: query: insert into table part_add_int_permute_select partition(part=2)
    values (5, 1, 'new', 10),
           (6, 2, 'new', 20),
           (7, 3, 'new', 30),
           (8, 4, 'new', 40)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__2
PREHOOK: Output: default@part_add_int_permute_select@part=2
POSTHOOK: query: insert into table part_add_int_permute_select partition(part=2)
    values (5, 1, 'new', 10),
           (6, 2, 'new', 20),
           (7, 3, 'new', 30),
           (8, 4, 'new', 40)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__2
POSTHOOK: Output: default@part_add_int_permute_select@part=2
POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=2).a EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=2).b SIMPLE [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=2).c EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3
PREHOOK: query: insert into table part_add_int_permute_select partition(part=1)
    values (9, 5, 'new', 100),
           (10, 6, 'new', 200)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__3
PREHOOK: Output: default@part_add_int_permute_select@part=1
POSTHOOK: query: insert into table part_add_int_permute_select partition(part=1)
    values (9, 5, 'new', 100),
           (10, 6, 'new', 200)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__3
POSTHOOK: Output: default@part_add_int_permute_select@part=1
POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=1).a EXPRESSION [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=1).b SIMPLE [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=1).c EXPRESSION [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3
PREHOOK: query: explain
select insert_num,part,a,b from part_add_int_permute_select order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,a,b from part_add_int_permute_select order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=10 width=99)
          Output:["_col0","_col1","_col2","_col3"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=10 width=99)
              Output:["_col0","_col1","_col2","_col3"]
              TableScan [TS_0] (rows=10 width=99)
                default@part_add_int_permute_select,part_add_int_permute_select,Tbl:COMPLETE,Col:NONE,Output:["insert_num","a","b"]

PREHOOK: query: -- SELECT permutation columns to make sure NULL defaulting works right
select insert_num,part,a,b from part_add_int_permute_select order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_add_int_permute_select
PREHOOK: Input: default@part_add_int_permute_select@part=1
PREHOOK: Input: default@part_add_int_permute_select@part=2
#### A masked pattern was here ####
POSTHOOK: query: -- SELECT permutation columns to make sure NULL defaulting works right
select insert_num,part,a,b from part_add_int_permute_select order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_add_int_permute_select
POSTHOOK: Input: default@part_add_int_permute_select@part=1
POSTHOOK: Input: default@part_add_int_permute_select@part=2
#### A masked pattern was here ####
insert_num	part	a	b
1	1	1	original
10	1	6	new
2	1	2	original
3	1	3	original
4	1	4	original
5	2	1	new
6	2	2	new
7	2	3	new
8	2	4	new
9	1	5	new
PREHOOK: query: select insert_num,part,a,b,c from part_add_int_permute_select order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_add_int_permute_select
PREHOOK: Input: default@part_add_int_permute_select@part=1
PREHOOK: Input: default@part_add_int_permute_select@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,a,b,c from part_add_int_permute_select order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_add_int_permute_select
POSTHOOK: Input: default@part_add_int_permute_select@part=1
POSTHOOK: Input: default@part_add_int_permute_select@part=2
#### A masked pattern was here ####
insert_num	part	a	b	c
1	1	1	original	NULL
10	1	6	new	200
2	1	2	original	NULL
3	1	3	original	NULL
4	1	4	original	NULL
5	2	1	new	10
6	2	2	new	20
7	2	3	new	30
8	2	4	new	40
9	1	5	new	100
PREHOOK: query: select insert_num,part,c from part_add_int_permute_select order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_add_int_permute_select
PREHOOK: Input: default@part_add_int_permute_select@part=1
PREHOOK: Input: default@part_add_int_permute_select@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c from part_add_int_permute_select order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_add_int_permute_select
POSTHOOK: Input: default@part_add_int_permute_select@part=1
POSTHOOK: Input: default@part_add_int_permute_select@part=2
#### A masked pattern was here ####
insert_num	part	c
1	1	NULL
10	1	200
2	1	NULL
3	1	NULL
4	1	NULL
5	2	10
6	2	20
7	2	30
8	2	40
9	1	100
PREHOOK: query: drop table part_add_int_permute_select
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_add_int_permute_select
PREHOOK: Output: default@part_add_int_permute_select
POSTHOOK: query: drop table part_add_int_permute_select
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_add_int_permute_select
POSTHOOK: Output: default@part_add_int_permute_select
PREHOOK: query: -- SUBSECTION: ALTER TABLE ADD COLUMNS: INT, STRING, PERMUTE SELECT
--
--
CREATE TABLE part_add_int_string_permute_select(insert_num int, a INT, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_add_int_string_permute_select
POSTHOOK: query: -- SUBSECTION: ALTER TABLE ADD COLUMNS: INT, STRING, PERMUTE SELECT
--
--
CREATE TABLE part_add_int_string_permute_select(insert_num int, a INT, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_add_int_string_permute_select
PREHOOK: query: DESCRIBE FORMATTED part_add_int_string_permute_select
PREHOOK: type: DESCTABLE
PREHOOK: Input: default@part_add_int_string_permute_select
POSTHOOK: query: DESCRIBE FORMATTED part_add_int_string_permute_select
POSTHOOK: type: DESCTABLE
POSTHOOK: Input: default@part_add_int_string_permute_select
col_name	data_type	comment
# col_name            	data_type           	comment             
	 	 
insert_num          	int                 	                    
a                   	int                 	                    
b                   	string              	                    
	 	 
# Partition Information	 	 
# col_name            	data_type           	comment             
	 	 
part                	int                 	                    
	 	 
# Detailed Table Information	 	 
Database:           	default             	 
#### A masked pattern was here ####
Retention:          	0                   	 
#### A masked pattern was here ####
Table Type:         	MANAGED_TABLE       	 
Table Parameters:	 	 
#### A masked pattern was here ####
	 	 
# Storage Information	 	 
SerDe Library:      	org.apache.hadoop.hive.ql.io.orc.OrcSerde	 
InputFormat:        	org.apache.hadoop.hive.ql.io.orc.OrcInputFormat	 
OutputFormat:       	org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat	 
Compressed:         	No                  	 
Num Buckets:        	-1                  	 
Bucket Columns:     	[]                  	 
Sort Columns:       	[]                  	 
Storage Desc Params:	 	 
	serialization.format	1                   
PREHOOK: query: insert into table part_add_int_string_permute_select partition(part=1)
    values (1, 1, 'original'),
           (2, 2, 'original'),
           (3, 3, 'original'),
           (4, 4, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__4
PREHOOK: Output: default@part_add_int_string_permute_select@part=1
POSTHOOK: query: insert into table part_add_int_string_permute_select partition(part=1)
    values (1, 1, 'original'),
           (2, 2, 'original'),
           (3, 3, 'original'),
           (4, 4, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__4
POSTHOOK: Output: default@part_add_int_string_permute_select@part=1
POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=1).a EXPRESSION [(values__tmp__table__4)values__tmp__table__4.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=1).b SIMPLE [(values__tmp__table__4)values__tmp__table__4.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__4)values__tmp__table__4.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2
PREHOOK: query: -- Table-Non-Cascade ADD COLUMNS ...
alter table part_add_int_string_permute_select add columns(c int, d string)
PREHOOK: type: ALTERTABLE_ADDCOLS
PREHOOK: Input: default@part_add_int_string_permute_select
PREHOOK: Output: default@part_add_int_string_permute_select
POSTHOOK: query: -- Table-Non-Cascade ADD COLUMNS ...
alter table part_add_int_string_permute_select add columns(c int, d string)
POSTHOOK: type: ALTERTABLE_ADDCOLS
POSTHOOK: Input: default@part_add_int_string_permute_select
POSTHOOK: Output: default@part_add_int_string_permute_select
PREHOOK: query: DESCRIBE FORMATTED part_add_int_string_permute_select
PREHOOK: type: DESCTABLE
PREHOOK: Input: default@part_add_int_string_permute_select
POSTHOOK: query: DESCRIBE FORMATTED part_add_int_string_permute_select
POSTHOOK: type: DESCTABLE
POSTHOOK: Input: default@part_add_int_string_permute_select
col_name	data_type	comment
# col_name            	data_type           	comment             
	 	 
insert_num          	int                 	                    
a                   	int                 	                    
b                   	string              	                    
c                   	int                 	                    
d                   	string              	                    
	 	 
# Partition Information	 	 
# col_name            	data_type           	comment             
	 	 
part                	int                 	                    
	 	 
# Detailed Table Information	 	 
Database:           	default             	 
#### A masked pattern was here ####
Retention:          	0                   	 
#### A masked pattern was here ####
Table Type:         	MANAGED_TABLE       	 
Table Parameters:	 	 
#### A masked pattern was here ####
	 	 
# Storage Information	 	 
SerDe Library:      	org.apache.hadoop.hive.ql.io.orc.OrcSerde	 
InputFormat:        	org.apache.hadoop.hive.ql.io.orc.OrcInputFormat	 
OutputFormat:       	org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat	 
Compressed:         	No                  	 
Num Buckets:        	-1                  	 
Bucket Columns:     	[]                  	 
Sort Columns:       	[]                  	 
Storage Desc Params:	 	 
	serialization.format	1                   
PREHOOK: query: insert into table part_add_int_string_permute_select partition(part=2)
    values (5, 1, 'new', 10, 'ten'),
           (6, 2, 'new', 20, 'twenty'),
           (7, 3, 'new', 30, 'thirty'),
           (8, 4, 'new', 40, 'forty')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__5
PREHOOK: Output: default@part_add_int_string_permute_select@part=2
POSTHOOK: query: insert into table part_add_int_string_permute_select partition(part=2)
    values (5, 1, 'new', 10, 'ten'),
           (6, 2, 'new', 20, 'twenty'),
           (7, 3, 'new', 30, 'thirty'),
           (8, 4, 'new', 40, 'forty')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__5
POSTHOOK: Output: default@part_add_int_string_permute_select@part=2
POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=2).a EXPRESSION [(values__tmp__table__5)values__tmp__table__5.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=2).b SIMPLE [(values__tmp__table__5)values__tmp__table__5.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=2).c EXPRESSION [(values__tmp__table__5)values__tmp__table__5.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=2).d SIMPLE [(values__tmp__table__5)values__tmp__table__5.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__5)values__tmp__table__5.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: insert into table part_add_int_string_permute_select partition(part=1)
    values (9, 5, 'new', 100, 'hundred'),
           (10, 6, 'new', 200, 'two hundred')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__6
PREHOOK: Output: default@part_add_int_string_permute_select@part=1
POSTHOOK: query: insert into table part_add_int_string_permute_select partition(part=1)
    values (9, 5, 'new', 100, 'hundred'),
           (10, 6, 'new', 200, 'two hundred')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__6
POSTHOOK: Output: default@part_add_int_string_permute_select@part=1
POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=1).a EXPRESSION [(values__tmp__table__6)values__tmp__table__6.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=1).b SIMPLE [(values__tmp__table__6)values__tmp__table__6.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=1).c EXPRESSION [(values__tmp__table__6)values__tmp__table__6.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=1).d SIMPLE [(values__tmp__table__6)values__tmp__table__6.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__6)values__tmp__table__6.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: explain
select insert_num,part,a,b from part_add_int_string_permute_select order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,a,b from part_add_int_string_permute_select order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=10 width=153)
          Output:["_col0","_col1","_col2","_col3"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=10 width=153)
              Output:["_col0","_col1","_col2","_col3"]
              TableScan [TS_0] (rows=10 width=153)
                default@part_add_int_string_permute_select,part_add_int_string_permute_select,Tbl:COMPLETE,Col:NONE,Output:["insert_num","a","b"]

PREHOOK: query: -- SELECT permutation columns to make sure NULL defaulting works right
select insert_num,part,a,b from part_add_int_string_permute_select order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_add_int_string_permute_select
PREHOOK: Input: default@part_add_int_string_permute_select@part=1
PREHOOK: Input: default@part_add_int_string_permute_select@part=2
#### A masked pattern was here ####
POSTHOOK: query: -- SELECT permutation columns to make sure NULL defaulting works right
select insert_num,part,a,b from part_add_int_string_permute_select order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_add_int_string_permute_select
POSTHOOK: Input: default@part_add_int_string_permute_select@part=1
POSTHOOK: Input: default@part_add_int_string_permute_select@part=2
#### A masked pattern was here ####
insert_num	part	a	b
1	1	1	original
10	1	6	new
2	1	2	original
3	1	3	original
4	1	4	original
5	2	1	new
6	2	2	new
7	2	3	new
8	2	4	new
9	1	5	new
PREHOOK: query: select insert_num,part,a,b,c from part_add_int_string_permute_select order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_add_int_string_permute_select
PREHOOK: Input: default@part_add_int_string_permute_select@part=1
PREHOOK: Input: default@part_add_int_string_permute_select@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,a,b,c from part_add_int_string_permute_select order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_add_int_string_permute_select
POSTHOOK: Input: default@part_add_int_string_permute_select@part=1
POSTHOOK: Input: default@part_add_int_string_permute_select@part=2
#### A masked pattern was here ####
insert_num	part	a	b	c
1	1	1	original	NULL
10	1	6	new	200
2	1	2	original	NULL
3	1	3	original	NULL
4	1	4	original	NULL
5	2	1	new	10
6	2	2	new	20
7	2	3	new	30
8	2	4	new	40
9	1	5	new	100
PREHOOK: query: select insert_num,part,a,b,c,d from part_add_int_string_permute_select order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_add_int_string_permute_select
PREHOOK: Input: default@part_add_int_string_permute_select@part=1
PREHOOK: Input: default@part_add_int_string_permute_select@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,a,b,c,d from part_add_int_string_permute_select order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_add_int_string_permute_select
POSTHOOK: Input: default@part_add_int_string_permute_select@part=1
POSTHOOK: Input: default@part_add_int_string_permute_select@part=2
#### A masked pattern was here ####
insert_num	part	a	b	c	d
1	1	1	original	NULL	NULL
10	1	6	new	200	two hundred
2	1	2	original	NULL	NULL
3	1	3	original	NULL	NULL
4	1	4	original	NULL	NULL
5	2	1	new	10	ten
6	2	2	new	20	twenty
7	2	3	new	30	thirty
8	2	4	new	40	forty
9	1	5	new	100	hundred
PREHOOK: query: select insert_num,part,a,c,d from part_add_int_string_permute_select order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_add_int_string_permute_select
PREHOOK: Input: default@part_add_int_string_permute_select@part=1
PREHOOK: Input: default@part_add_int_string_permute_select@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,a,c,d from part_add_int_string_permute_select order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_add_int_string_permute_select
POSTHOOK: Input: default@part_add_int_string_permute_select@part=1
POSTHOOK: Input: default@part_add_int_string_permute_select@part=2
#### A masked pattern was here ####
insert_num	part	a	c	d
1	1	1	NULL	NULL
10	1	6	200	two hundred
2	1	2	NULL	NULL
3	1	3	NULL	NULL
4	1	4	NULL	NULL
5	2	1	10	ten
6	2	2	20	twenty
7	2	3	30	thirty
8	2	4	40	forty
9	1	5	100	hundred
PREHOOK: query: select insert_num,part,a,d from part_add_int_string_permute_select order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_add_int_string_permute_select
PREHOOK: Input: default@part_add_int_string_permute_select@part=1
PREHOOK: Input: default@part_add_int_string_permute_select@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,a,d from part_add_int_string_permute_select order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_add_int_string_permute_select
POSTHOOK: Input: default@part_add_int_string_permute_select@part=1
POSTHOOK: Input: default@part_add_int_string_permute_select@part=2
#### A masked pattern was here ####
insert_num	part	a	d
1	1	1	NULL
10	1	6	two hundred
2	1	2	NULL
3	1	3	NULL
4	1	4	NULL
5	2	1	ten
6	2	2	twenty
7	2	3	thirty
8	2	4	forty
9	1	5	hundred
PREHOOK: query: select insert_num,part,c from part_add_int_string_permute_select order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_add_int_string_permute_select
PREHOOK: Input: default@part_add_int_string_permute_select@part=1
PREHOOK: Input: default@part_add_int_string_permute_select@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c from part_add_int_string_permute_select order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_add_int_string_permute_select
POSTHOOK: Input: default@part_add_int_string_permute_select@part=1
POSTHOOK: Input: default@part_add_int_string_permute_select@part=2
#### A masked pattern was here ####
insert_num	part	c
1	1	NULL
10	1	200
2	1	NULL
3	1	NULL
4	1	NULL
5	2	10
6	2	20
7	2	30
8	2	40
9	1	100
PREHOOK: query: select insert_num,part,d from part_add_int_string_permute_select order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_add_int_string_permute_select
PREHOOK: Input: default@part_add_int_string_permute_select@part=1
PREHOOK: Input: default@part_add_int_string_permute_select@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,d from part_add_int_string_permute_select order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_add_int_string_permute_select
POSTHOOK: Input: default@part_add_int_string_permute_select@part=1
POSTHOOK: Input: default@part_add_int_string_permute_select@part=2
#### A masked pattern was here ####
insert_num	part	d
1	1	NULL
10	1	two hundred
2	1	NULL
3	1	NULL
4	1	NULL
5	2	ten
6	2	twenty
7	2	thirty
8	2	forty
9	1	hundred
PREHOOK: query: drop table part_add_int_string_permute_select
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_add_int_string_permute_select
PREHOOK: Output: default@part_add_int_string_permute_select
POSTHOOK: query: drop table part_add_int_string_permute_select
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_add_int_string_permute_select
POSTHOOK: Output: default@part_add_int_string_permute_select
PREHOOK: query: ------------------------------------------------------------------------------------------
-- SECTION: ALTER TABLE CHANGE COLUMNS for STRING_GROUP -> DOUBLE
--
--
--
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for STRING_GROUP -> DOUBLE: (STRING, CHAR, VARCHAR)
--
CREATE TABLE part_change_string_group_double(insert_num int, c1 STRING, c2 CHAR(50), c3 VARCHAR(50), b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_string_group_double
POSTHOOK: query: ------------------------------------------------------------------------------------------
-- SECTION: ALTER TABLE CHANGE COLUMNS for STRING_GROUP -> DOUBLE
--
--
--
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for STRING_GROUP -> DOUBLE: (STRING, CHAR, VARCHAR)
--
CREATE TABLE part_change_string_group_double(insert_num int, c1 STRING, c2 CHAR(50), c3 VARCHAR(50), b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_string_group_double
PREHOOK: query: insert into table part_change_string_group_double partition(part=1)
    values (1, '753.7028', '753.7028', '753.7028', 'original'),
           (2, '-3651.672121', '-3651.672121', '-3651.672121', 'original'),
           (3, '-29.0764', '-29.0764', '-29.0764', 'original'),
           (4, '-10.3', '-10.3', '-10.3', 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__7
PREHOOK: Output: default@part_change_string_group_double@part=1
POSTHOOK: query: insert into table part_change_string_group_double partition(part=1)
    values (1, '753.7028', '753.7028', '753.7028', 'original'),
           (2, '-3651.672121', '-3651.672121', '-3651.672121', 'original'),
           (3, '-29.0764', '-29.0764', '-29.0764', 'original'),
           (4, '-10.3', '-10.3', '-10.3', 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__7
POSTHOOK: Output: default@part_change_string_group_double@part=1
POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=1).b SIMPLE [(values__tmp__table__7)values__tmp__table__7.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=1).c1 SIMPLE [(values__tmp__table__7)values__tmp__table__7.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__7)values__tmp__table__7.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__7)values__tmp__table__7.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__7)values__tmp__table__7.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_string_group_double replace columns (insert_num int, c1 DOUBLE, c2 DOUBLE, c3 DOUBLE, b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_string_group_double
PREHOOK: Output: default@part_change_string_group_double
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_string_group_double replace columns (insert_num int, c1 DOUBLE, c2 DOUBLE, c3 DOUBLE, b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_string_group_double
POSTHOOK: Output: default@part_change_string_group_double
PREHOOK: query: insert into table part_change_string_group_double partition(part=2)
    values (5, 30.774, 30.774, 30.774, 'new'),
           (6, 20.31, 20.31, 20.31, 'new'),
           (7, 46114.284799488, 46114.284799488, 46114.284799488, 'new'),
           (8, -66475.561431, -66475.561431, -66475.561431, 'new')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__8
PREHOOK: Output: default@part_change_string_group_double@part=2
POSTHOOK: query: insert into table part_change_string_group_double partition(part=2)
    values (5, 30.774, 30.774, 30.774, 'new'),
           (6, 20.31, 20.31, 20.31, 'new'),
           (7, 46114.284799488, 46114.284799488, 46114.284799488, 'new'),
           (8, -66475.561431, -66475.561431, -66475.561431, 'new')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__8
POSTHOOK: Output: default@part_change_string_group_double@part=2
POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=2).b SIMPLE [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: insert into table part_change_string_group_double partition(part=1)
    values (9, 17808.963785, 17808.963785, 17808.963785, 'new'),
           (10, 9250340.75 , 9250340.75 , 9250340.75 , 'new')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__9
PREHOOK: Output: default@part_change_string_group_double@part=1
POSTHOOK: query: insert into table part_change_string_group_double partition(part=1)
    values (9, 17808.963785, 17808.963785, 17808.963785, 'new'),
           (10, 9250340.75 , 9250340.75 , 9250340.75 , 'new')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__9
POSTHOOK: Output: default@part_change_string_group_double@part=1
POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=1).b SIMPLE [(values__tmp__table__9)values__tmp__table__9.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__9)values__tmp__table__9.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__9)values__tmp__table__9.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__9)values__tmp__table__9.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__9)values__tmp__table__9.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_string_group_double order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_string_group_double order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=10 width=234)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=10 width=234)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
              TableScan [TS_0] (rows=10 width=234)
                default@part_change_string_group_double,part_change_string_group_double,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_string_group_double order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_string_group_double
PREHOOK: Input: default@part_change_string_group_double@part=1
PREHOOK: Input: default@part_change_string_group_double@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_string_group_double order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_string_group_double
POSTHOOK: Input: default@part_change_string_group_double@part=1
POSTHOOK: Input: default@part_change_string_group_double@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	753.7028	753.7028	753.7028	original
10	1	9250340.75	9250340.75	9250340.75	new
2	1	-3651.672121	-3651.672121	-3651.672121	original
3	1	-29.0764	-29.0764	-29.0764	original
4	1	-10.3	-10.3	-10.3	original
5	2	30.774	30.774	30.774	new
6	2	20.31	20.31	20.31	new
7	2	46114.284799488	46114.284799488	46114.284799488	new
8	2	-66475.561431	-66475.561431	-66475.561431	new
9	1	17808.963785	17808.963785	17808.963785	new
PREHOOK: query: drop table part_change_string_group_double
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_string_group_double
PREHOOK: Output: default@part_change_string_group_double
POSTHOOK: query: drop table part_change_string_group_double
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_string_group_double
POSTHOOK: Output: default@part_change_string_group_double
PREHOOK: query: ------------------------------------------------------------------------------------------
-- SECTION: ALTER TABLE CHANGE COLUMNS for DATE_GROUP -> STRING_GROUP
--
--
--
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for DATE_GROUP -> STRING_GROUP: TIMESTAMP, (STRING, CHAR, CHAR trunc, VARCHAR, VARCHAR trunc)
--
CREATE TABLE part_change_date_group_string_group_timestamp(insert_num int, c1 TIMESTAMP, c2 TIMESTAMP, c3 TIMESTAMP, c4 TIMESTAMP, c5 TIMESTAMP, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_date_group_string_group_timestamp
POSTHOOK: query: ------------------------------------------------------------------------------------------
-- SECTION: ALTER TABLE CHANGE COLUMNS for DATE_GROUP -> STRING_GROUP
--
--
--
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for DATE_GROUP -> STRING_GROUP: TIMESTAMP, (STRING, CHAR, CHAR trunc, VARCHAR, VARCHAR trunc)
--
CREATE TABLE part_change_date_group_string_group_timestamp(insert_num int, c1 TIMESTAMP, c2 TIMESTAMP, c3 TIMESTAMP, c4 TIMESTAMP, c5 TIMESTAMP, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_date_group_string_group_timestamp
PREHOOK: query: insert into table part_change_date_group_string_group_timestamp partition(part=1)
    values (1, '2000-12-18 08:42:30.000595596', '2000-12-18 08:42:30.000595596', '2000-12-18 08:42:30.000595596', '2000-12-18 08:42:30.000595596', '2000-12-18 08:42:30.000595596', 'original'),
           (2, '2024-11-11 16:42:41.101', '2024-11-11 16:42:41.101', '2024-11-11 16:42:41.101', '2024-11-11 16:42:41.101', '2024-11-11 16:42:41.101', 'original'),
           (3, '2021-09-24 03:18:32.413655165', '2021-09-24 03:18:32.413655165', '2021-09-24 03:18:32.413655165', '2021-09-24 03:18:32.413655165', '2021-09-24 03:18:32.413655165', 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__10
PREHOOK: Output: default@part_change_date_group_string_group_timestamp@part=1
POSTHOOK: query: insert into table part_change_date_group_string_group_timestamp partition(part=1)
    values (1, '2000-12-18 08:42:30.000595596', '2000-12-18 08:42:30.000595596', '2000-12-18 08:42:30.000595596', '2000-12-18 08:42:30.000595596', '2000-12-18 08:42:30.000595596', 'original'),
           (2, '2024-11-11 16:42:41.101', '2024-11-11 16:42:41.101', '2024-11-11 16:42:41.101', '2024-11-11 16:42:41.101', '2024-11-11 16:42:41.101', 'original'),
           (3, '2021-09-24 03:18:32.413655165', '2021-09-24 03:18:32.413655165', '2021-09-24 03:18:32.413655165', '2021-09-24 03:18:32.413655165', '2021-09-24 03:18:32.413655165', 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__10
POSTHOOK: Output: default@part_change_date_group_string_group_timestamp@part=1
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).b SIMPLE [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).c5 EXPRESSION [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_date_group_string_group_timestamp replace columns(insert_num int, c1 STRING, c2 CHAR(50), c3 CHAR(15), c4 VARCHAR(50), c5 VARCHAR(15), b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_date_group_string_group_timestamp
PREHOOK: Output: default@part_change_date_group_string_group_timestamp
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_date_group_string_group_timestamp replace columns(insert_num int, c1 STRING, c2 CHAR(50), c3 CHAR(15), c4 VARCHAR(50), c5 VARCHAR(15), b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_date_group_string_group_timestamp
POSTHOOK: Output: default@part_change_date_group_string_group_timestamp
PREHOOK: query: insert into table part_change_date_group_string_group_timestamp partition(part=2)
    values (4, '0004-09-22 18:26:29.519542222', '0004-09-22 18:26:29.519542222', '0004-09-22 18:26:29.519542222', '0004-09-22 18:26:29.519542222', '0004-09-22 18:26:29.519542222', 'new'),
           (5, '1815-05-06 00:12:37.543584705', '1815-05-06 00:12:37.543584705', '1815-05-06 00:12:37.543584705', '1815-05-06 00:12:37.543584705', '1815-05-06 00:12:37.543584705', 'new'),
           (6, '2007-02-09 05:17:29.368756876', '2007-02-09 05:17:29.368756876', '2007-02-09 05:17:29.368756876', '2007-02-09 05:17:29.368756876', '2007-02-09 05:17:29.368756876', 'new'),
           (7, '2002-05-10 05:29:48.990818073', '2002-05-10 05:29:48.990818073', '2002-05-10 05:29:48.990818073', '2002-05-10 05:29:48.990818073', '2002-05-10 05:29:48.990818073', 'new')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__11
PREHOOK: Output: default@part_change_date_group_string_group_timestamp@part=2
POSTHOOK: query: insert into table part_change_date_group_string_group_timestamp partition(part=2)
    values (4, '0004-09-22 18:26:29.519542222', '0004-09-22 18:26:29.519542222', '0004-09-22 18:26:29.519542222', '0004-09-22 18:26:29.519542222', '0004-09-22 18:26:29.519542222', 'new'),
           (5, '1815-05-06 00:12:37.543584705', '1815-05-06 00:12:37.543584705', '1815-05-06 00:12:37.543584705', '1815-05-06 00:12:37.543584705', '1815-05-06 00:12:37.543584705', 'new'),
           (6, '2007-02-09 05:17:29.368756876', '2007-02-09 05:17:29.368756876', '2007-02-09 05:17:29.368756876', '2007-02-09 05:17:29.368756876', '2007-02-09 05:17:29.368756876', 'new'),
           (7, '2002-05-10 05:29:48.990818073', '2002-05-10 05:29:48.990818073', '2002-05-10 05:29:48.990818073', '2002-05-10 05:29:48.990818073', '2002-05-10 05:29:48.990818073', 'new')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__11
POSTHOOK: Output: default@part_change_date_group_string_group_timestamp@part=2
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=2).b SIMPLE [(values__tmp__table__11)values__tmp__table__11.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=2).c1 SIMPLE [(values__tmp__table__11)values__tmp__table__11.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__11)values__tmp__table__11.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__11)values__tmp__table__11.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=2).c4 EXPRESSION [(values__tmp__table__11)values__tmp__table__11.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=2).c5 EXPRESSION [(values__tmp__table__11)values__tmp__table__11.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__11)values__tmp__table__11.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6
PREHOOK: query: insert into table part_change_date_group_string_group_timestamp partition(part=1)
    values (8, '6229-06-28 02:54:28.970117179', '6229-06-28 02:54:28.970117179', '6229-06-28 02:54:28.970117179', '6229-06-28 02:54:28.970117179', '6229-06-28 02:54:28.970117179', 'new'),
           (9, '5966-07-09 03:30:50.597', '5966-07-09 03:30:50.597', '5966-07-09 03:30:50.597', '5966-07-09 03:30:50.597', '5966-07-09 03:30:50.597', 'new')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__12
PREHOOK: Output: default@part_change_date_group_string_group_timestamp@part=1
POSTHOOK: query: insert into table part_change_date_group_string_group_timestamp partition(part=1)
    values (8, '6229-06-28 02:54:28.970117179', '6229-06-28 02:54:28.970117179', '6229-06-28 02:54:28.970117179', '6229-06-28 02:54:28.970117179', '6229-06-28 02:54:28.970117179', 'new'),
           (9, '5966-07-09 03:30:50.597', '5966-07-09 03:30:50.597', '5966-07-09 03:30:50.597', '5966-07-09 03:30:50.597', '5966-07-09 03:30:50.597', 'new')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__12
POSTHOOK: Output: default@part_change_date_group_string_group_timestamp@part=1
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).b SIMPLE [(values__tmp__table__12)values__tmp__table__12.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).c1 SIMPLE [(values__tmp__table__12)values__tmp__table__12.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__12)values__tmp__table__12.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__12)values__tmp__table__12.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__12)values__tmp__table__12.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).c5 EXPRESSION [(values__tmp__table__12)values__tmp__table__12.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__12)values__tmp__table__12.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,c5,b from part_change_date_group_string_group_timestamp order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,c5,b from part_change_date_group_string_group_timestamp order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=9 width=530)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=9 width=530)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
              TableScan [TS_0] (rows=9 width=530)
                default@part_change_date_group_string_group_timestamp,part_change_date_group_string_group_timestamp,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","c4","c5","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,b from part_change_date_group_string_group_timestamp order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_date_group_string_group_timestamp
PREHOOK: Input: default@part_change_date_group_string_group_timestamp@part=1
PREHOOK: Input: default@part_change_date_group_string_group_timestamp@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,b from part_change_date_group_string_group_timestamp order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_date_group_string_group_timestamp
POSTHOOK: Input: default@part_change_date_group_string_group_timestamp@part=1
POSTHOOK: Input: default@part_change_date_group_string_group_timestamp@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	c5	b
1	1	2000-12-18 08:42:30.000595596	2000-12-18 08:42:30.000595596                     	2000-12-18 08:4	2000-12-18 08:42:30.000595596	2000-12-18 08:4	original
2	1	2024-11-11 16:42:41.101	2024-11-11 16:42:41.101                           	2024-11-11 16:4	2024-11-11 16:42:41.101	2024-11-11 16:4	original
3	1	2021-09-24 03:18:32.413655165	2021-09-24 03:18:32.413655165                     	2021-09-24 03:1	2021-09-24 03:18:32.413655165	2021-09-24 03:1	original
4	2	0004-09-22 18:26:29.519542222	0004-09-22 18:26:29.519542222                     	0004-09-22 18:2	0004-09-22 18:26:29.519542222	0004-09-22 18:2	new
5	2	1815-05-06 00:12:37.543584705	1815-05-06 00:12:37.543584705                     	1815-05-06 00:1	1815-05-06 00:12:37.543584705	1815-05-06 00:1	new
6	2	2007-02-09 05:17:29.368756876	2007-02-09 05:17:29.368756876                     	2007-02-09 05:1	2007-02-09 05:17:29.368756876	2007-02-09 05:1	new
7	2	2002-05-10 05:29:48.990818073	2002-05-10 05:29:48.990818073                     	2002-05-10 05:2	2002-05-10 05:29:48.990818073	2002-05-10 05:2	new
8	1	6229-06-28 02:54:28.970117179	6229-06-28 02:54:28.970117179                     	6229-06-28 02:5	6229-06-28 02:54:28.970117179	6229-06-28 02:5	new
9	1	5966-07-09 03:30:50.597	5966-07-09 03:30:50.597                           	5966-07-09 03:3	5966-07-09 03:30:50.597	5966-07-09 03:3	new
PREHOOK: query: drop table part_change_date_group_string_group_timestamp
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_date_group_string_group_timestamp
PREHOOK: Output: default@part_change_date_group_string_group_timestamp
POSTHOOK: query: drop table part_change_date_group_string_group_timestamp
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_date_group_string_group_timestamp
POSTHOOK: Output: default@part_change_date_group_string_group_timestamp
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for DATE_GROUP -> STRING_GROUP: DATE, (STRING, CHAR, CHAR trunc, VARCHAR, VARCHAR trunc)
--
CREATE TABLE part_change_date_group_string_group_date(insert_num int, c1 DATE, c2 DATE, c3 DATE, c4 DATE, c5 DATE, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_date_group_string_group_date
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for DATE_GROUP -> STRING_GROUP: DATE, (STRING, CHAR, CHAR trunc, VARCHAR, VARCHAR trunc)
--
CREATE TABLE part_change_date_group_string_group_date(insert_num int, c1 DATE, c2 DATE, c3 DATE, c4 DATE, c5 DATE, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_date_group_string_group_date
PREHOOK: query: insert into table part_change_date_group_string_group_date partition(part=1)
    values (1, '2000-12-18', '2000-12-18', '2000-12-18', '2000-12-18', '2000-12-18', 'original'),
           (2, '2024-11-11', '2024-11-11', '2024-11-11', '2024-11-11', '2024-11-11', 'original'),
           (3, '2021-09-24', '2021-09-24', '2021-09-24', '2021-09-24', '2021-09-24', 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__13
PREHOOK: Output: default@part_change_date_group_string_group_date@part=1
POSTHOOK: query: insert into table part_change_date_group_string_group_date partition(part=1)
    values (1, '2000-12-18', '2000-12-18', '2000-12-18', '2000-12-18', '2000-12-18', 'original'),
           (2, '2024-11-11', '2024-11-11', '2024-11-11', '2024-11-11', '2024-11-11', 'original'),
           (3, '2021-09-24', '2021-09-24', '2021-09-24', '2021-09-24', '2021-09-24', 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__13
POSTHOOK: Output: default@part_change_date_group_string_group_date@part=1
POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=1).b SIMPLE [(values__tmp__table__13)values__tmp__table__13.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__13)values__tmp__table__13.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__13)values__tmp__table__13.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__13)values__tmp__table__13.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__13)values__tmp__table__13.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=1).c5 EXPRESSION [(values__tmp__table__13)values__tmp__table__13.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__13)values__tmp__table__13.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_date_group_string_group_date replace columns(insert_num int, c1 STRING, c2 CHAR(50), c3 CHAR(15), c4 VARCHAR(50), c5 VARCHAR(15), b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_date_group_string_group_date
PREHOOK: Output: default@part_change_date_group_string_group_date
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_date_group_string_group_date replace columns(insert_num int, c1 STRING, c2 CHAR(50), c3 CHAR(15), c4 VARCHAR(50), c5 VARCHAR(15), b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_date_group_string_group_date
POSTHOOK: Output: default@part_change_date_group_string_group_date
PREHOOK: query: insert into table part_change_date_group_string_group_date partition(part=2)
    values (4, '0004-09-22', '0004-09-22', '0004-09-22', '0004-09-22', '0004-09-22', 'new'),
           (5, '1815-05-06', '1815-05-06', '1815-05-06', '1815-05-06', '1815-05-06', 'new'),
           (6, '2007-02-09', '2007-02-09', '2007-02-09', '2007-02-09', '2007-02-09', 'new'),
           (7, '2002-05-10', '2002-05-10', '2002-05-10', '2002-05-10', '2002-05-10', 'new'),
           (8, '6229-06-28', '6229-06-28', '6229-06-28', '6229-06-28', '6229-06-28', 'new'),
           (9, '5966-07-09', '5966-07-09', '5966-07-09', '5966-07-09', '5966-07-09', 'new')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__14
PREHOOK: Output: default@part_change_date_group_string_group_date@part=2
POSTHOOK: query: insert into table part_change_date_group_string_group_date partition(part=2)
    values (4, '0004-09-22', '0004-09-22', '0004-09-22', '0004-09-22', '0004-09-22', 'new'),
           (5, '1815-05-06', '1815-05-06', '1815-05-06', '1815-05-06', '1815-05-06', 'new'),
           (6, '2007-02-09', '2007-02-09', '2007-02-09', '2007-02-09', '2007-02-09', 'new'),
           (7, '2002-05-10', '2002-05-10', '2002-05-10', '2002-05-10', '2002-05-10', 'new'),
           (8, '6229-06-28', '6229-06-28', '6229-06-28', '6229-06-28', '6229-06-28', 'new'),
           (9, '5966-07-09', '5966-07-09', '5966-07-09', '5966-07-09', '5966-07-09', 'new')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__14
POSTHOOK: Output: default@part_change_date_group_string_group_date@part=2
POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=2).b SIMPLE [(values__tmp__table__14)values__tmp__table__14.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=2).c1 SIMPLE [(values__tmp__table__14)values__tmp__table__14.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__14)values__tmp__table__14.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__14)values__tmp__table__14.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=2).c4 EXPRESSION [(values__tmp__table__14)values__tmp__table__14.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=2).c5 EXPRESSION [(values__tmp__table__14)values__tmp__table__14.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__14)values__tmp__table__14.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,c5,b from part_change_date_group_string_group_date order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,c5,b from part_change_date_group_string_group_date order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=9 width=529)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=9 width=529)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
              TableScan [TS_0] (rows=9 width=529)
                default@part_change_date_group_string_group_date,part_change_date_group_string_group_date,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","c4","c5","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,b from part_change_date_group_string_group_date order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_date_group_string_group_date
PREHOOK: Input: default@part_change_date_group_string_group_date@part=1
PREHOOK: Input: default@part_change_date_group_string_group_date@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,b from part_change_date_group_string_group_date order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_date_group_string_group_date
POSTHOOK: Input: default@part_change_date_group_string_group_date@part=1
POSTHOOK: Input: default@part_change_date_group_string_group_date@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	c5	b
1	1	2000-12-18	2000-12-18                                        	2000-12-18     	2000-12-18	2000-12-18	original
2	1	2024-11-11	2024-11-11                                        	2024-11-11     	2024-11-11	2024-11-11	original
3	1	2021-09-24	2021-09-24                                        	2021-09-24     	2021-09-24	2021-09-24	original
4	2	0004-09-22	0004-09-22                                        	0004-09-22     	0004-09-22	0004-09-22	new
5	2	1815-05-06	1815-05-06                                        	1815-05-06     	1815-05-06	1815-05-06	new
6	2	2007-02-09	2007-02-09                                        	2007-02-09     	2007-02-09	2007-02-09	new
7	2	2002-05-10	2002-05-10                                        	2002-05-10     	2002-05-10	2002-05-10	new
8	2	6229-06-28	6229-06-28                                        	6229-06-28     	6229-06-28	6229-06-28	new
9	2	5966-07-09	5966-07-09                                        	5966-07-09     	5966-07-09	5966-07-09	new
PREHOOK: query: drop table part_change_date_group_string_group_date
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_date_group_string_group_date
PREHOOK: Output: default@part_change_date_group_string_group_date
POSTHOOK: query: drop table part_change_date_group_string_group_date
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_date_group_string_group_date
POSTHOOK: Output: default@part_change_date_group_string_group_date
PREHOOK: query: ------------------------------------------------------------------------------------------
-- SECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP
--
--
--
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (TINYINT, SMALLINT, INT, BIGINT), STRING
--
CREATE TABLE part_change_numeric_group_string_group_multi_ints_string(insert_num int, c1 tinyint, c2 smallint, c3 int, c4 bigint, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_string
POSTHOOK: query: ------------------------------------------------------------------------------------------
-- SECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP
--
--
--
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (TINYINT, SMALLINT, INT, BIGINT), STRING
--
CREATE TABLE part_change_numeric_group_string_group_multi_ints_string(insert_num int, c1 tinyint, c2 smallint, c3 int, c4 bigint, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_string
PREHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_string partition(part=1)
    values (1, 45, 1000, 483777, -23866739993, 'original'),
           (2, -2, -6737, 56, 28899333, 'original'),
           (3, -255, 4957, 832222222, 9000000000, 'original'),
           (4, 0, 20435, 847492223, -999999999999, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__15
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_string@part=1
POSTHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_string partition(part=1)
    values (1, 45, 1000, 483777, -23866739993, 'original'),
           (2, -2, -6737, 56, 28899333, 'original'),
           (3, -255, 4957, 832222222, 9000000000, 'original'),
           (4, 0, 20435, 847492223, -999999999999, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__15
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_string@part=1
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=1).b SIMPLE [(values__tmp__table__15)values__tmp__table__15.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__15)values__tmp__table__15.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__15)values__tmp__table__15.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__15)values__tmp__table__15.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__15)values__tmp__table__15.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__15)values__tmp__table__15.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5
PREHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_string order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_string
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_string@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_string order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_string
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_string@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	b
1	1	45	1000	483777	-23866739993	original
2	1	-2	-6737	56	28899333	original
3	1	NULL	4957	832222222	9000000000	original
4	1	0	20435	847492223	-999999999999	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_multi_ints_string replace columns (insert_num int, c1 STRING, c2 STRING, c3 STRING, c4 STRING, b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_string
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_string
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_multi_ints_string replace columns (insert_num int, c1 STRING, c2 STRING, c3 STRING, c4 STRING, b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_string
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_string
PREHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_string partition(part)
    values (5, '2000', '72909', '3244222', '-93222', 'new', 2),
           (6, '1', '200', '2323322', '5430907', 'new', 2),
           (7, '256', '32768', '31889', '470614135', 'new', 2),
           (8, '5555', '40000', '-719017797', '810662019', 'new', 2),
           (9, '100', '5000', '5443', '0', 'new', 1),
           (10, '17', '90000', '754072151', '3289094', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__16
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_string
POSTHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_string partition(part)
    values (5, '2000', '72909', '3244222', '-93222', 'new', 2),
           (6, '1', '200', '2323322', '5430907', 'new', 2),
           (7, '256', '32768', '31889', '470614135', 'new', 2),
           (8, '5555', '40000', '-719017797', '810662019', 'new', 2),
           (9, '100', '5000', '5443', '0', 'new', 1),
           (10, '17', '90000', '754072151', '3289094', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__16
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_string@part=1
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_string@part=2
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=1).b SIMPLE [(values__tmp__table__16)values__tmp__table__16.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=1).c1 SIMPLE [(values__tmp__table__16)values__tmp__table__16.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=1).c2 SIMPLE [(values__tmp__table__16)values__tmp__table__16.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=1).c3 SIMPLE [(values__tmp__table__16)values__tmp__table__16.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=1).c4 SIMPLE [(values__tmp__table__16)values__tmp__table__16.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__16)values__tmp__table__16.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=2).b SIMPLE [(values__tmp__table__16)values__tmp__table__16.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=2).c1 SIMPLE [(values__tmp__table__16)values__tmp__table__16.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=2).c2 SIMPLE [(values__tmp__table__16)values__tmp__table__16.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=2).c3 SIMPLE [(values__tmp__table__16)values__tmp__table__16.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=2).c4 SIMPLE [(values__tmp__table__16)values__tmp__table__16.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__16)values__tmp__table__16.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_string order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_string order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=10 width=313)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=10 width=313)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
              TableScan [TS_0] (rows=10 width=313)
                default@part_change_numeric_group_string_group_multi_ints_string,part_change_numeric_group_string_group_multi_ints_string,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","c4","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_string order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_string
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_string@part=1
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_string@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_string order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_string
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_string@part=1
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_string@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	b
1	1	45	1000	483777	-23866739993	original
10	1	17	90000	754072151	3289094	new
2	1	-2	-6737	56	28899333	original
3	1	NULL	4957	832222222	9000000000	original
4	1	0	20435	847492223	-999999999999	original
5	2	2000	72909	3244222	-93222	new
6	2	1	200	2323322	5430907	new
7	2	256	32768	31889	470614135	new
8	2	5555	40000	-719017797	810662019	new
9	1	100	5000	5443	0	new
PREHOOK: query: drop table part_change_numeric_group_string_group_multi_ints_string
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_string
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_string
POSTHOOK: query: drop table part_change_numeric_group_string_group_multi_ints_string
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_string
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_string
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (TINYINT, SMALLINT, INT, BIGINT), CHAR
--
CREATE TABLE part_change_numeric_group_string_group_multi_ints_char(insert_num int, c1 tinyint, c2 smallint, c3 int, c4 bigint, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (TINYINT, SMALLINT, INT, BIGINT), CHAR
--
CREATE TABLE part_change_numeric_group_string_group_multi_ints_char(insert_num int, c1 tinyint, c2 smallint, c3 int, c4 bigint, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char
PREHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_char partition(part=1)
    values (1, 45, 1000, 483777, -23866739993, 'original'),
           (2, -2, -6737, 56, 28899333, 'original'),
           (3, -255, 4957, 832222222, 9000000000, 'original'),
           (4, 0, 20435, 847492223, -999999999999, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__17
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char@part=1
POSTHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_char partition(part=1)
    values (1, 45, 1000, 483777, -23866739993, 'original'),
           (2, -2, -6737, 56, 28899333, 'original'),
           (3, -255, 4957, 832222222, 9000000000, 'original'),
           (4, 0, 20435, 847492223, -999999999999, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__17
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char@part=1
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=1).b SIMPLE [(values__tmp__table__17)values__tmp__table__17.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__17)values__tmp__table__17.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__17)values__tmp__table__17.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__17)values__tmp__table__17.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__17)values__tmp__table__17.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__17)values__tmp__table__17.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5
PREHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_char order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_char order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	b
1	1	45	1000	483777	-23866739993	original
2	1	-2	-6737	56	28899333	original
3	1	NULL	4957	832222222	9000000000	original
4	1	0	20435	847492223	-999999999999	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_multi_ints_char replace columns (insert_num int, c1 CHAR(50), c2 CHAR(50), c3 CHAR(50), c4 CHAR(50), b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_multi_ints_char replace columns (insert_num int, c1 CHAR(50), c2 CHAR(50), c3 CHAR(50), c4 CHAR(50), b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char
PREHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_char partition(part)
    values (5, '2000', '72909', '3244222', '-93222', 'new', 2),
           (6, '1', '200', '2323322', '5430907', 'new', 2),
           (7, '256', '32768', '31889', '470614135', 'new', 2),
           (8, '5555', '40000', '-719017797', '810662019', 'new', 2),
           (9, '100', '5000', '5443', '0', 'new', 1),
           (10, '17', '90000', '754072151', '3289094', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__18
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char
POSTHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_char partition(part)
    values (5, '2000', '72909', '3244222', '-93222', 'new', 2),
           (6, '1', '200', '2323322', '5430907', 'new', 2),
           (7, '256', '32768', '31889', '470614135', 'new', 2),
           (8, '5555', '40000', '-719017797', '810662019', 'new', 2),
           (9, '100', '5000', '5443', '0', 'new', 1),
           (10, '17', '90000', '754072151', '3289094', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__18
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char@part=1
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char@part=2
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=1).b SIMPLE [(values__tmp__table__18)values__tmp__table__18.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__18)values__tmp__table__18.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__18)values__tmp__table__18.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__18)values__tmp__table__18.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__18)values__tmp__table__18.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__18)values__tmp__table__18.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=2).b SIMPLE [(values__tmp__table__18)values__tmp__table__18.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__18)values__tmp__table__18.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__18)values__tmp__table__18.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__18)values__tmp__table__18.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=2).c4 EXPRESSION [(values__tmp__table__18)values__tmp__table__18.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__18)values__tmp__table__18.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_char order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_char order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=10 width=422)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=10 width=422)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
              TableScan [TS_0] (rows=10 width=422)
                default@part_change_numeric_group_string_group_multi_ints_char,part_change_numeric_group_string_group_multi_ints_char,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","c4","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_char order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char@part=1
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_char order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char@part=1
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	b
1	1	45                                                	1000                                              	483777                                            	-23866739993                                      	original
10	1	17                                                	90000                                             	754072151                                         	3289094                                           	new
2	1	-2                                                	-6737                                             	56                                                	28899333                                          	original
3	1	NULL	4957                                              	832222222                                         	9000000000                                        	original
4	1	0                                                 	20435                                             	847492223                                         	-999999999999                                     	original
5	2	2000                                              	72909                                             	3244222                                           	-93222                                            	new
6	2	1                                                 	200                                               	2323322                                           	5430907                                           	new
7	2	256                                               	32768                                             	31889                                             	470614135                                         	new
8	2	5555                                              	40000                                             	-719017797                                        	810662019                                         	new
9	1	100                                               	5000                                              	5443                                              	0                                                 	new
PREHOOK: query: drop table part_change_numeric_group_string_group_multi_ints_char
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char
POSTHOOK: query: drop table part_change_numeric_group_string_group_multi_ints_char
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (TINYINT, SMALLINT, INT, BIGINT), CHAR truncation
--
CREATE TABLE part_change_numeric_group_string_group_multi_ints_char_trunc(insert_num int, c1 tinyint, c2 smallint, c3 int, c4 bigint, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char_trunc
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (TINYINT, SMALLINT, INT, BIGINT), CHAR truncation
--
CREATE TABLE part_change_numeric_group_string_group_multi_ints_char_trunc(insert_num int, c1 tinyint, c2 smallint, c3 int, c4 bigint, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char_trunc
PREHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_char_trunc partition(part=1)
    values (1, 45, 1000, 483777, -23866739993, 'original'),
           (2, -2, -6737, 56, 28899333, 'original'),
           (3, -255, 4957, 832222222, 9000000000, 'original'),
           (4, 0, 20435, 847492223, -999999999999, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__19
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char_trunc@part=1
POSTHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_char_trunc partition(part=1)
    values (1, 45, 1000, 483777, -23866739993, 'original'),
           (2, -2, -6737, 56, 28899333, 'original'),
           (3, -255, 4957, 832222222, 9000000000, 'original'),
           (4, 0, 20435, 847492223, -999999999999, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__19
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char_trunc@part=1
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=1).b SIMPLE [(values__tmp__table__19)values__tmp__table__19.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__19)values__tmp__table__19.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__19)values__tmp__table__19.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__19)values__tmp__table__19.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__19)values__tmp__table__19.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__19)values__tmp__table__19.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5
PREHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_char_trunc order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char_trunc
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char_trunc@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_char_trunc order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char_trunc
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char_trunc@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	b
1	1	45	1000	483777	-23866739993	original
2	1	-2	-6737	56	28899333	original
3	1	NULL	4957	832222222	9000000000	original
4	1	0	20435	847492223	-999999999999	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_multi_ints_char_trunc replace columns (insert_num int, c1 CHAR(5), c2 CHAR(5), c3 CHAR(5), c4 CHAR(5), b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char_trunc
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char_trunc
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_multi_ints_char_trunc replace columns (insert_num int, c1 CHAR(5), c2 CHAR(5), c3 CHAR(5), c4 CHAR(5), b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char_trunc
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char_trunc
PREHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_char_trunc partition(part)
    values (5, '2000', '72909', '3244222', '-93222', 'new', 2),
           (6, '1', '200', '2323322', '5430907', 'new', 2),
           (7, '256', '32768', '31889', '470614135', 'new', 2),
           (8, '5555', '40000', '-719017797', '810662019', 'new', 2),
           (9, '100', '5000', '5443', '0', 'new', 1),
           (10, '17', '90000', '754072151', '3289094', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__20
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char_trunc
POSTHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_char_trunc partition(part)
    values (5, '2000', '72909', '3244222', '-93222', 'new', 2),
           (6, '1', '200', '2323322', '5430907', 'new', 2),
           (7, '256', '32768', '31889', '470614135', 'new', 2),
           (8, '5555', '40000', '-719017797', '810662019', 'new', 2),
           (9, '100', '5000', '5443', '0', 'new', 1),
           (10, '17', '90000', '754072151', '3289094', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__20
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char_trunc@part=1
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char_trunc@part=2
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=1).b SIMPLE [(values__tmp__table__20)values__tmp__table__20.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__20)values__tmp__table__20.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__20)values__tmp__table__20.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__20)values__tmp__table__20.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__20)values__tmp__table__20.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__20)values__tmp__table__20.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=2).b SIMPLE [(values__tmp__table__20)values__tmp__table__20.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__20)values__tmp__table__20.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__20)values__tmp__table__20.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__20)values__tmp__table__20.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=2).c4 EXPRESSION [(values__tmp__table__20)values__tmp__table__20.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__20)values__tmp__table__20.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_char_trunc order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_char_trunc order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=10 width=314)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=10 width=314)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
              TableScan [TS_0] (rows=10 width=314)
                default@part_change_numeric_group_string_group_multi_ints_char_trunc,part_change_numeric_group_string_group_multi_ints_char_trunc,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","c4","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_char_trunc order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char_trunc
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char_trunc@part=1
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char_trunc@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_char_trunc order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char_trunc
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char_trunc@part=1
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char_trunc@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	b
1	1	45   	1000 	48377	-2386	original
10	1	17   	90000	75407	32890	new
2	1	-2   	-6737	56   	28899	original
3	1	NULL	4957 	83222	90000	original
4	1	0    	20435	84749	-9999	original
5	2	2000 	72909	32442	-9322	new
6	2	1    	200  	23233	54309	new
7	2	256  	32768	31889	47061	new
8	2	5555 	40000	-7190	81066	new
9	1	100  	5000 	5443 	0    	new
PREHOOK: query: drop table part_change_numeric_group_string_group_multi_ints_char_trunc
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char_trunc
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char_trunc
POSTHOOK: query: drop table part_change_numeric_group_string_group_multi_ints_char_trunc
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char_trunc
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char_trunc
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (TINYINT, SMALLINT, INT, BIGINT), VARCHAR
--
CREATE TABLE part_change_numeric_group_string_group_multi_ints_varchar(insert_num int, c1 tinyint, c2 smallint, c3 int, c4 bigint, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (TINYINT, SMALLINT, INT, BIGINT), VARCHAR
--
CREATE TABLE part_change_numeric_group_string_group_multi_ints_varchar(insert_num int, c1 tinyint, c2 smallint, c3 int, c4 bigint, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar
PREHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_varchar partition(part=1)
    values (1, 45, 1000, 483777, -23866739993, 'original'),
           (2, -2, -6737, 56, 28899333, 'original'),
           (3, -255, 4957, 832222222, 9000000000, 'original'),
           (4, 0, 20435, 847492223, -999999999999, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__21
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar@part=1
POSTHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_varchar partition(part=1)
    values (1, 45, 1000, 483777, -23866739993, 'original'),
           (2, -2, -6737, 56, 28899333, 'original'),
           (3, -255, 4957, 832222222, 9000000000, 'original'),
           (4, 0, 20435, 847492223, -999999999999, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__21
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar@part=1
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=1).b SIMPLE [(values__tmp__table__21)values__tmp__table__21.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__21)values__tmp__table__21.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__21)values__tmp__table__21.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__21)values__tmp__table__21.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__21)values__tmp__table__21.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__21)values__tmp__table__21.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5
PREHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_varchar order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_varchar order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	b
1	1	45	1000	483777	-23866739993	original
2	1	-2	-6737	56	28899333	original
3	1	NULL	4957	832222222	9000000000	original
4	1	0	20435	847492223	-999999999999	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_multi_ints_varchar replace columns (insert_num int, c1 VARCHAR(50), c2 VARCHAR(50), c3 VARCHAR(50), c4 VARCHAR(50), b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_multi_ints_varchar replace columns (insert_num int, c1 VARCHAR(50), c2 VARCHAR(50), c3 VARCHAR(50), c4 VARCHAR(50), b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar
PREHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_varchar partition(part)
    values (5, '2000', '72909', '3244222', '-93222', 'new', 2),
           (6, '1', '200', '2323322', '5430907', 'new', 2),
           (7, '256', '32768', '31889', '470614135', 'new', 2),
           (8, '5555', '40000', '-719017797', '810662019', 'new', 2),
           (9, '100', '5000', '5443', '0', 'new', 1),
           (10, '17', '90000', '754072151', '3289094', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__22
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar
POSTHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_varchar partition(part)
    values (5, '2000', '72909', '3244222', '-93222', 'new', 2),
           (6, '1', '200', '2323322', '5430907', 'new', 2),
           (7, '256', '32768', '31889', '470614135', 'new', 2),
           (8, '5555', '40000', '-719017797', '810662019', 'new', 2),
           (9, '100', '5000', '5443', '0', 'new', 1),
           (10, '17', '90000', '754072151', '3289094', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__22
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar@part=1
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar@part=2
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=1).b SIMPLE [(values__tmp__table__22)values__tmp__table__22.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__22)values__tmp__table__22.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__22)values__tmp__table__22.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__22)values__tmp__table__22.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__22)values__tmp__table__22.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__22)values__tmp__table__22.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=2).b SIMPLE [(values__tmp__table__22)values__tmp__table__22.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__22)values__tmp__table__22.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__22)values__tmp__table__22.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__22)values__tmp__table__22.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=2).c4 EXPRESSION [(values__tmp__table__22)values__tmp__table__22.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__22)values__tmp__table__22.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_varchar order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_varchar order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=10 width=313)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=10 width=313)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
              TableScan [TS_0] (rows=10 width=313)
                default@part_change_numeric_group_string_group_multi_ints_varchar,part_change_numeric_group_string_group_multi_ints_varchar,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","c4","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_varchar order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar@part=1
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_varchar order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar@part=1
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	b
1	1	45	1000	483777	-23866739993	original
10	1	17	90000	754072151	3289094	new
2	1	-2	-6737	56	28899333	original
3	1	NULL	4957	832222222	9000000000	original
4	1	0	20435	847492223	-999999999999	original
5	2	2000	72909	3244222	-93222	new
6	2	1	200	2323322	5430907	new
7	2	256	32768	31889	470614135	new
8	2	5555	40000	-719017797	810662019	new
9	1	100	5000	5443	0	new
PREHOOK: query: drop table part_change_numeric_group_string_group_multi_ints_varchar
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar
POSTHOOK: query: drop table part_change_numeric_group_string_group_multi_ints_varchar
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (TINYINT, SMALLINT, INT, BIGINT), VARCHAR truncation
--
CREATE TABLE part_change_numeric_group_string_group_multi_ints_varchar_trunc(insert_num int, c1 tinyint, c2 smallint, c3 int, c4 bigint, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (TINYINT, SMALLINT, INT, BIGINT), VARCHAR truncation
--
CREATE TABLE part_change_numeric_group_string_group_multi_ints_varchar_trunc(insert_num int, c1 tinyint, c2 smallint, c3 int, c4 bigint, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc
PREHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_varchar_trunc partition(part=1)
    values (1, 45, 1000, 483777, -23866739993, 'original'),
           (2, -2, -6737, 56, 28899333, 'original'),
           (3, -255, 4957, 832222222, 9000000000, 'original'),
           (4, 0, 20435, 847492223, -999999999999, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__23
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc@part=1
POSTHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_varchar_trunc partition(part=1)
    values (1, 45, 1000, 483777, -23866739993, 'original'),
           (2, -2, -6737, 56, 28899333, 'original'),
           (3, -255, 4957, 832222222, 9000000000, 'original'),
           (4, 0, 20435, 847492223, -999999999999, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__23
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc@part=1
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=1).b SIMPLE [(values__tmp__table__23)values__tmp__table__23.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__23)values__tmp__table__23.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__23)values__tmp__table__23.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__23)values__tmp__table__23.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__23)values__tmp__table__23.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__23)values__tmp__table__23.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5
PREHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_varchar_trunc order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_varchar_trunc order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	b
1	1	45	1000	483777	-23866739993	original
2	1	-2	-6737	56	28899333	original
3	1	NULL	4957	832222222	9000000000	original
4	1	0	20435	847492223	-999999999999	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_multi_ints_varchar_trunc replace columns (insert_num int, c1 VARCHAR(5), c2 VARCHAR(5), c3 VARCHAR(5), c4 VARCHAR(5), b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_multi_ints_varchar_trunc replace columns (insert_num int, c1 VARCHAR(5), c2 VARCHAR(5), c3 VARCHAR(5), c4 VARCHAR(5), b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc
PREHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_varchar_trunc partition(part)
    values (5, '2000', '72909', '3244222', '-93222', 'new', 2),
           (6, '1', '200', '2323322', '5430907', 'new', 2),
           (7, '256', '32768', '31889', '470614135', 'new', 2),
           (8, '5555', '40000', '-719017797', '810662019', 'new', 2),
           (9, '100', '5000', '5443', '0', 'new', 1),
           (10, '17', '90000', '754072151', '3289094', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__24
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc
POSTHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_varchar_trunc partition(part)
    values (5, '2000', '72909', '3244222', '-93222', 'new', 2),
           (6, '1', '200', '2323322', '5430907', 'new', 2),
           (7, '256', '32768', '31889', '470614135', 'new', 2),
           (8, '5555', '40000', '-719017797', '810662019', 'new', 2),
           (9, '100', '5000', '5443', '0', 'new', 1),
           (10, '17', '90000', '754072151', '3289094', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__24
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc@part=1
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc@part=2
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=1).b SIMPLE [(values__tmp__table__24)values__tmp__table__24.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__24)values__tmp__table__24.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__24)values__tmp__table__24.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__24)values__tmp__table__24.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__24)values__tmp__table__24.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__24)values__tmp__table__24.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=2).b SIMPLE [(values__tmp__table__24)values__tmp__table__24.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__24)values__tmp__table__24.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__24)values__tmp__table__24.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__24)values__tmp__table__24.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=2).c4 EXPRESSION [(values__tmp__table__24)values__tmp__table__24.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__24)values__tmp__table__24.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_varchar_trunc order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_varchar_trunc order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=10 width=311)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=10 width=311)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
              TableScan [TS_0] (rows=10 width=311)
                default@part_change_numeric_group_string_group_multi_ints_varchar_trunc,part_change_numeric_group_string_group_multi_ints_varchar_trunc,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","c4","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_varchar_trunc order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc@part=1
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_varchar_trunc order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc@part=1
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	b
1	1	45	1000	48377	-2386	original
10	1	17	90000	75407	32890	new
2	1	-2	-6737	56	28899	original
3	1	NULL	4957	83222	90000	original
4	1	0	20435	84749	-9999	original
5	2	2000	72909	32442	-9322	new
6	2	1	200	23233	54309	new
7	2	256	32768	31889	47061	new
8	2	5555	40000	-7190	81066	new
9	1	100	5000	5443	0	new
PREHOOK: query: drop table part_change_numeric_group_string_group_multi_ints_varchar_trunc
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc
POSTHOOK: query: drop table part_change_numeric_group_string_group_multi_ints_varchar_trunc
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (DECIMAL, FLOAT, DOUBLE), STRING
--
CREATE TABLE part_change_numeric_group_string_group_floating_string(insert_num int, c1 decimal(38,18), c2 float, c3 double, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_string
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (DECIMAL, FLOAT, DOUBLE), STRING
--
CREATE TABLE part_change_numeric_group_string_group_floating_string(insert_num int, c1 decimal(38,18), c2 float, c3 double, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_string
PREHOOK: query: insert into table part_change_numeric_group_string_group_floating_string partition(part=1)
    values (1, -23866739993, 753.7028, -3651.672121, 'original'),
           (2, -10.3, -2, -29.0764, 'original'),
           (3, - 832222222, 255, 4957,'original'),
           (4, 847492223, 0, 20435, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__25
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_string@part=1
POSTHOOK: query: insert into table part_change_numeric_group_string_group_floating_string partition(part=1)
    values (1, -23866739993, 753.7028, -3651.672121, 'original'),
           (2, -10.3, -2, -29.0764, 'original'),
           (3, - 832222222, 255, 4957,'original'),
           (4, 847492223, 0, 20435, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__25
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_string@part=1
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_string PARTITION(part=1).b SIMPLE [(values__tmp__table__25)values__tmp__table__25.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_string PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__25)values__tmp__table__25.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_string PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__25)values__tmp__table__25.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_string PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__25)values__tmp__table__25.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_string PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__25)values__tmp__table__25.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_string order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_string
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_string@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_string order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_string
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_string@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	-23866739993.000000000000000000	753.7028	-3651.672121	original
2	1	-10.300000000000000000	-2.0	-29.0764	original
3	1	-832222222.000000000000000000	255.0	4957.0	original
4	1	847492223.000000000000000000	0.0	20435.0	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_floating_string replace columns (insert_num int, c1 STRING, c2 STRING, c3 STRING, b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_string
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_string
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_floating_string replace columns (insert_num int, c1 STRING, c2 STRING, c3 STRING, b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_string
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_string
PREHOOK: query: insert into table part_change_numeric_group_string_group_floating_string partition(part)
    values (5, '30.774', '20.31', '46114.284799488', 'new', 2),
           (6, '-66475.561431', '52927714', '7203778961', 'new', 2),
           (7, '256', '32768', '31889', 'new', 2),
           (8, '5555', '40000', '-719017797', 'new', 2),
           (9, '100', '5000', '5443', 'new', 1),
           (10, '17', '90000', '754072151', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__26
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_string
POSTHOOK: query: insert into table part_change_numeric_group_string_group_floating_string partition(part)
    values (5, '30.774', '20.31', '46114.284799488', 'new', 2),
           (6, '-66475.561431', '52927714', '7203778961', 'new', 2),
           (7, '256', '32768', '31889', 'new', 2),
           (8, '5555', '40000', '-719017797', 'new', 2),
           (9, '100', '5000', '5443', 'new', 1),
           (10, '17', '90000', '754072151', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__26
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_string@part=1
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_string@part=2
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_string PARTITION(part=1).b SIMPLE [(values__tmp__table__26)values__tmp__table__26.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_string PARTITION(part=1).c1 SIMPLE [(values__tmp__table__26)values__tmp__table__26.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_string PARTITION(part=1).c2 SIMPLE [(values__tmp__table__26)values__tmp__table__26.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_string PARTITION(part=1).c3 SIMPLE [(values__tmp__table__26)values__tmp__table__26.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_string PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__26)values__tmp__table__26.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_string PARTITION(part=2).b SIMPLE [(values__tmp__table__26)values__tmp__table__26.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_string PARTITION(part=2).c1 SIMPLE [(values__tmp__table__26)values__tmp__table__26.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_string PARTITION(part=2).c2 SIMPLE [(values__tmp__table__26)values__tmp__table__26.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_string PARTITION(part=2).c3 SIMPLE [(values__tmp__table__26)values__tmp__table__26.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_string PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__26)values__tmp__table__26.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_string order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_string order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=10 width=304)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=10 width=304)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
              TableScan [TS_0] (rows=10 width=304)
                default@part_change_numeric_group_string_group_floating_string,part_change_numeric_group_string_group_floating_string,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_string order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_string
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_string@part=1
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_string@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_string order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_string
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_string@part=1
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_string@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	-23866739993	753.7028	-3651.672121	original
10	1	17	90000	754072151	new
2	1	-10.3	-2.0	-29.0764	original
3	1	-832222222	255.0	4957.0	original
4	1	847492223	0.0	20435.0	original
5	2	30.774	20.31	46114.284799488	new
6	2	-66475.561431	52927714	7203778961	new
7	2	256	32768	31889	new
8	2	5555	40000	-719017797	new
9	1	100	5000	5443	new
PREHOOK: query: drop table part_change_numeric_group_string_group_floating_string
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_string
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_string
POSTHOOK: query: drop table part_change_numeric_group_string_group_floating_string
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_string
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_string
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (DECIMAL, FLOAT, DOUBLE), CHAR
--
CREATE TABLE part_change_numeric_group_string_group_floating_char(insert_num int, c1 decimal(38,18), c2 float, c3 double, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_char
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (DECIMAL, FLOAT, DOUBLE), CHAR
--
CREATE TABLE part_change_numeric_group_string_group_floating_char(insert_num int, c1 decimal(38,18), c2 float, c3 double, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_char
PREHOOK: query: insert into table part_change_numeric_group_string_group_floating_char partition(part=1)
    values (1, -23866739993, 753.7028, -3651.672121, 'original'),
           (2, -10.3, -2, -29.0764, 'original'),
           (3,  9000000000, -255, 4957,'original'),
           (4, -999999999999, 0, 20435, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__27
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_char@part=1
POSTHOOK: query: insert into table part_change_numeric_group_string_group_floating_char partition(part=1)
    values (1, -23866739993, 753.7028, -3651.672121, 'original'),
           (2, -10.3, -2, -29.0764, 'original'),
           (3,  9000000000, -255, 4957,'original'),
           (4, -999999999999, 0, 20435, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__27
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_char@part=1
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char PARTITION(part=1).b SIMPLE [(values__tmp__table__27)values__tmp__table__27.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__27)values__tmp__table__27.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__27)values__tmp__table__27.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__27)values__tmp__table__27.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__27)values__tmp__table__27.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_char order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_char
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_char@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_char order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_char
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_char@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	-23866739993.000000000000000000	753.7028	-3651.672121	original
2	1	-10.300000000000000000	-2.0	-29.0764	original
3	1	9000000000.000000000000000000	-255.0	4957.0	original
4	1	-999999999999.000000000000000000	0.0	20435.0	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_floating_char replace columns (insert_num int, c1 CHAR(50), c2 CHAR(50), c3 CHAR(50), b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_char
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_char
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_floating_char replace columns (insert_num int, c1 CHAR(50), c2 CHAR(50), c3 CHAR(50), b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_char
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_char
PREHOOK: query: insert into table part_change_numeric_group_string_group_floating_char partition(part)
    values (5, '30.774', '20.31', '46114.284799488', 'new', 2),
           (6, '-66475.561431', '52927714', '7203778961', 'new', 2),
           (7, '256', '32768', '31889', 'new', 2),
           (8, '5555', '40000', '-719017797', 'new', 2),
           (9, '100', '5000', '5443', 'new', 1),
           (10, '17', '90000', '754072151', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__28
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_char
POSTHOOK: query: insert into table part_change_numeric_group_string_group_floating_char partition(part)
    values (5, '30.774', '20.31', '46114.284799488', 'new', 2),
           (6, '-66475.561431', '52927714', '7203778961', 'new', 2),
           (7, '256', '32768', '31889', 'new', 2),
           (8, '5555', '40000', '-719017797', 'new', 2),
           (9, '100', '5000', '5443', 'new', 1),
           (10, '17', '90000', '754072151', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__28
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_char@part=1
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_char@part=2
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char PARTITION(part=1).b SIMPLE [(values__tmp__table__28)values__tmp__table__28.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__28)values__tmp__table__28.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__28)values__tmp__table__28.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__28)values__tmp__table__28.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__28)values__tmp__table__28.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char PARTITION(part=2).b SIMPLE [(values__tmp__table__28)values__tmp__table__28.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__28)values__tmp__table__28.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__28)values__tmp__table__28.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__28)values__tmp__table__28.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__28)values__tmp__table__28.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_char order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_char order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=10 width=383)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=10 width=383)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
              TableScan [TS_0] (rows=10 width=383)
                default@part_change_numeric_group_string_group_floating_char,part_change_numeric_group_string_group_floating_char,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_char order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_char
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_char@part=1
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_char@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_char order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_char
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_char@part=1
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_char@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	-23866739993                                      	753.7028                                          	-3651.672121                                      	original
10	1	17                                                	90000                                             	754072151                                         	new
2	1	-10.3                                             	-2.0                                              	-29.0764                                          	original
3	1	9000000000                                        	-255.0                                            	4957.0                                            	original
4	1	-999999999999                                     	0.0                                               	20435.0                                           	original
5	2	30.774                                            	20.31                                             	46114.284799488                                   	new
6	2	-66475.561431                                     	52927714                                          	7203778961                                        	new
7	2	256                                               	32768                                             	31889                                             	new
8	2	5555                                              	40000                                             	-719017797                                        	new
9	1	100                                               	5000                                              	5443                                              	new
PREHOOK: query: drop table part_change_numeric_group_string_group_floating_char
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_char
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_char
POSTHOOK: query: drop table part_change_numeric_group_string_group_floating_char
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_char
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_char
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (DECIMAL, FLOAT, DOUBLE), CHAR truncation
--
CREATE TABLE part_change_numeric_group_string_group_floating_char_trunc(insert_num int, c1 decimal(38,18), c2 float, c3 double, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_char_trunc
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (DECIMAL, FLOAT, DOUBLE), CHAR truncation
--
CREATE TABLE part_change_numeric_group_string_group_floating_char_trunc(insert_num int, c1 decimal(38,18), c2 float, c3 double, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_char_trunc
PREHOOK: query: insert into table part_change_numeric_group_string_group_floating_char_trunc partition(part=1)
    values (1, -23866739993, 753.7028, -3651.672121, 'original'),
           (2, -10.3, -2, -29.0764, 'original'),
           (3, 832222222, -255, 4957, 'original'),
           (4, 847492223, 0, 20435, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__29
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_char_trunc@part=1
POSTHOOK: query: insert into table part_change_numeric_group_string_group_floating_char_trunc partition(part=1)
    values (1, -23866739993, 753.7028, -3651.672121, 'original'),
           (2, -10.3, -2, -29.0764, 'original'),
           (3, 832222222, -255, 4957, 'original'),
           (4, 847492223, 0, 20435, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__29
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_char_trunc@part=1
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char_trunc PARTITION(part=1).b SIMPLE [(values__tmp__table__29)values__tmp__table__29.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char_trunc PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__29)values__tmp__table__29.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char_trunc PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__29)values__tmp__table__29.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char_trunc PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__29)values__tmp__table__29.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char_trunc PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__29)values__tmp__table__29.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_char_trunc order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_char_trunc
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_char_trunc@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_char_trunc order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_char_trunc
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_char_trunc@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	-23866739993.000000000000000000	753.7028	-3651.672121	original
2	1	-10.300000000000000000	-2.0	-29.0764	original
3	1	832222222.000000000000000000	-255.0	4957.0	original
4	1	847492223.000000000000000000	0.0	20435.0	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_floating_char_trunc replace columns (insert_num int, c1 CHAR(7), c2 CHAR(7), c3 CHAR(7), b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_char_trunc
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_char_trunc
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_floating_char_trunc replace columns (insert_num int, c1 CHAR(7), c2 CHAR(7), c3 CHAR(7), b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_char_trunc
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_char_trunc
PREHOOK: query: insert into table part_change_numeric_group_string_group_floating_char_trunc partition(part)
    values (5, '30.774', '20.31', '46114.284799488', 'new', 2),
           (6, '-66475.561431', '52927714', '7203778961', 'new', 2),
           (7, '256', '32768', '31889', 'new', 2),
           (8, '5555', '40000', '-719017797', 'new', 2),
           (9, '100', '5000', '5443', 'new', 1),
           (10, '17', '90000', '754072151', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__30
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_char_trunc
POSTHOOK: query: insert into table part_change_numeric_group_string_group_floating_char_trunc partition(part)
    values (5, '30.774', '20.31', '46114.284799488', 'new', 2),
           (6, '-66475.561431', '52927714', '7203778961', 'new', 2),
           (7, '256', '32768', '31889', 'new', 2),
           (8, '5555', '40000', '-719017797', 'new', 2),
           (9, '100', '5000', '5443', 'new', 1),
           (10, '17', '90000', '754072151', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__30
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_char_trunc@part=1
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_char_trunc@part=2
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char_trunc PARTITION(part=1).b SIMPLE [(values__tmp__table__30)values__tmp__table__30.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char_trunc PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__30)values__tmp__table__30.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char_trunc PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__30)values__tmp__table__30.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char_trunc PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__30)values__tmp__table__30.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char_trunc PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__30)values__tmp__table__30.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char_trunc PARTITION(part=2).b SIMPLE [(values__tmp__table__30)values__tmp__table__30.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char_trunc PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__30)values__tmp__table__30.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char_trunc PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__30)values__tmp__table__30.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char_trunc PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__30)values__tmp__table__30.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char_trunc PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__30)values__tmp__table__30.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_char_trunc order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_char_trunc order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=10 width=306)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=10 width=306)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
              TableScan [TS_0] (rows=10 width=306)
                default@part_change_numeric_group_string_group_floating_char_trunc,part_change_numeric_group_string_group_floating_char_trunc,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_char_trunc order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_char_trunc
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_char_trunc@part=1
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_char_trunc@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_char_trunc order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_char_trunc
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_char_trunc@part=1
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_char_trunc@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	-238667	753.702	-3651.6	original
10	1	17     	90000  	7540721	new
2	1	-10.3  	-2.0   	-29.076	original
3	1	8322222	-255.0 	4957.0 	original
4	1	8474922	0.0    	20435.0	original
5	2	30.774 	20.31  	46114.2	new
6	2	-66475.	5292771	7203778	new
7	2	256    	32768  	31889  	new
8	2	5555   	40000  	-719017	new
9	1	100    	5000   	5443   	new
PREHOOK: query: drop table part_change_numeric_group_string_group_floating_char_trunc
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_char_trunc
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_char_trunc
POSTHOOK: query: drop table part_change_numeric_group_string_group_floating_char_trunc
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_char_trunc
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_char_trunc
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (DECIMAL, FLOAT, DOUBLE), VARCHAR
--
CREATE TABLE part_change_numeric_group_string_group_floating_varchar(insert_num int, c1 float, c2 double, c3 decimal(38,18), b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (DECIMAL, FLOAT, DOUBLE), VARCHAR
--
CREATE TABLE part_change_numeric_group_string_group_floating_varchar(insert_num int, c1 float, c2 double, c3 decimal(38,18), b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar
PREHOOK: query: insert into table part_change_numeric_group_string_group_floating_varchar partition(part=1)
    values (1, -23866739993, 753.7028, -3651.672121, 'original'),
           (2, -10.3, -2, -29.0764, 'original'),
           (3, 9000000000, -255, 4957, 'original'),
           (4, -999999999999, 0, 20435, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__31
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar@part=1
POSTHOOK: query: insert into table part_change_numeric_group_string_group_floating_varchar partition(part=1)
    values (1, -23866739993, 753.7028, -3651.672121, 'original'),
           (2, -10.3, -2, -29.0764, 'original'),
           (3, 9000000000, -255, 4957, 'original'),
           (4, -999999999999, 0, 20435, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__31
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar@part=1
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar PARTITION(part=1).b SIMPLE [(values__tmp__table__31)values__tmp__table__31.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__31)values__tmp__table__31.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__31)values__tmp__table__31.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__31)values__tmp__table__31.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__31)values__tmp__table__31.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_varchar order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_varchar order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	-2.38667407E10	753.7028	-3651.672121000000000000	original
2	1	-10.3	-2.0	-29.076400000000000000	original
3	1	8.9999995E9	-255.0	4957.000000000000000000	original
4	1	-1.0E12	0.0	20435.000000000000000000	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_floating_varchar replace columns (insert_num int, c1 VARCHAR(50), c2 VARCHAR(50), c3 VARCHAR(50), b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_floating_varchar replace columns (insert_num int, c1 VARCHAR(50), c2 VARCHAR(50), c3 VARCHAR(50), b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar
PREHOOK: query: insert into table part_change_numeric_group_string_group_floating_varchar partition(part)
    values (5, '30.774', '20.31', '46114.284799488', 'new', 2),
           (6, '-66475.561431', '52927714', '7203778961', 'new', 2),
           (7, '256', '32768', '31889', 'new', 2),
           (8, '5555', '40000', '-719017797', 'new', 2),
           (9, '100', '5000', '5443', 'new', 1),
           (10, '17', '90000', '754072151', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__32
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar
POSTHOOK: query: insert into table part_change_numeric_group_string_group_floating_varchar partition(part)
    values (5, '30.774', '20.31', '46114.284799488', 'new', 2),
           (6, '-66475.561431', '52927714', '7203778961', 'new', 2),
           (7, '256', '32768', '31889', 'new', 2),
           (8, '5555', '40000', '-719017797', 'new', 2),
           (9, '100', '5000', '5443', 'new', 1),
           (10, '17', '90000', '754072151', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__32
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar@part=1
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar@part=2
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar PARTITION(part=1).b SIMPLE [(values__tmp__table__32)values__tmp__table__32.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__32)values__tmp__table__32.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__32)values__tmp__table__32.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__32)values__tmp__table__32.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__32)values__tmp__table__32.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar PARTITION(part=2).b SIMPLE [(values__tmp__table__32)values__tmp__table__32.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__32)values__tmp__table__32.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__32)values__tmp__table__32.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__32)values__tmp__table__32.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__32)values__tmp__table__32.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_varchar order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_varchar order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=10 width=304)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=10 width=304)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
              TableScan [TS_0] (rows=10 width=304)
                default@part_change_numeric_group_string_group_floating_varchar,part_change_numeric_group_string_group_floating_varchar,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_varchar order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar@part=1
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_varchar order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar@part=1
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	-2.38667407E10	753.7028	-3651.672121	original
10	1	17	90000	754072151	new
2	1	-10.3	-2.0	-29.0764	original
3	1	8.9999995E9	-255.0	4957	original
4	1	-1.0E12	0.0	20435	original
5	2	30.774	20.31	46114.284799488	new
6	2	-66475.561431	52927714	7203778961	new
7	2	256	32768	31889	new
8	2	5555	40000	-719017797	new
9	1	100	5000	5443	new
PREHOOK: query: drop table part_change_numeric_group_string_group_floating_varchar
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar
POSTHOOK: query: drop table part_change_numeric_group_string_group_floating_varchar
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (DECIMAL, FLOAT, DOUBLE), VARCHAR truncation
--
CREATE TABLE part_change_numeric_group_string_group_floating_varchar_trunc(insert_num int, c1 decimal(38,18), c2 float, c3 double, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar_trunc
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (DECIMAL, FLOAT, DOUBLE), VARCHAR truncation
--
CREATE TABLE part_change_numeric_group_string_group_floating_varchar_trunc(insert_num int, c1 decimal(38,18), c2 float, c3 double, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar_trunc
PREHOOK: query: insert into table part_change_numeric_group_string_group_floating_varchar_trunc partition(part=1)
    values (1, -23866739993, 753.7028, -3651.672121, 'original'),
           (2, -10.3, -2, -29.0764, 'original'),
           (3, 9000000000, -255, 4957, 'original'),
           (4, -999999999999, 0, 20435, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__33
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar_trunc@part=1
POSTHOOK: query: insert into table part_change_numeric_group_string_group_floating_varchar_trunc partition(part=1)
    values (1, -23866739993, 753.7028, -3651.672121, 'original'),
           (2, -10.3, -2, -29.0764, 'original'),
           (3, 9000000000, -255, 4957, 'original'),
           (4, -999999999999, 0, 20435, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__33
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar_trunc@part=1
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar_trunc PARTITION(part=1).b SIMPLE [(values__tmp__table__33)values__tmp__table__33.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar_trunc PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__33)values__tmp__table__33.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar_trunc PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__33)values__tmp__table__33.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar_trunc PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__33)values__tmp__table__33.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar_trunc PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__33)values__tmp__table__33.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_varchar_trunc order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar_trunc
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar_trunc@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_varchar_trunc order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar_trunc
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar_trunc@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	-23866739993.000000000000000000	753.7028	-3651.672121	original
2	1	-10.300000000000000000	-2.0	-29.0764	original
3	1	9000000000.000000000000000000	-255.0	4957.0	original
4	1	-999999999999.000000000000000000	0.0	20435.0	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_floating_varchar_trunc replace columns (insert_num int, c1 VARCHAR(7), c2 VARCHAR(7), c3 VARCHAR(7), b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar_trunc
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar_trunc
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_floating_varchar_trunc replace columns (insert_num int, c1 VARCHAR(7), c2 VARCHAR(7), c3 VARCHAR(7), b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar_trunc
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar_trunc
PREHOOK: query: insert into table part_change_numeric_group_string_group_floating_varchar_trunc partition(part)
    values (5, '30.774', '20.31', '46114.284799488', 'new', 2),
           (6, '-66475.561431', '52927714', '7203778961', 'new', 2),
           (7, '256', '32768', '31889', 'new', 2),
           (8, '5555', '40000', '-719017797', 'new', 2),
           (9, '100', '5000', '5443', 'new', 1),
           (10, '17', '90000', '754072151', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__34
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar_trunc
POSTHOOK: query: insert into table part_change_numeric_group_string_group_floating_varchar_trunc partition(part)
    values (5, '30.774', '20.31', '46114.284799488', 'new', 2),
           (6, '-66475.561431', '52927714', '7203778961', 'new', 2),
           (7, '256', '32768', '31889', 'new', 2),
           (8, '5555', '40000', '-719017797', 'new', 2),
           (9, '100', '5000', '5443', 'new', 1),
           (10, '17', '90000', '754072151', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__34
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar_trunc@part=1
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar_trunc@part=2
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar_trunc PARTITION(part=1).b SIMPLE [(values__tmp__table__34)values__tmp__table__34.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar_trunc PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__34)values__tmp__table__34.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar_trunc PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__34)values__tmp__table__34.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar_trunc PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__34)values__tmp__table__34.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar_trunc PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__34)values__tmp__table__34.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar_trunc PARTITION(part=2).b SIMPLE [(values__tmp__table__34)values__tmp__table__34.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar_trunc PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__34)values__tmp__table__34.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar_trunc PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__34)values__tmp__table__34.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar_trunc PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__34)values__tmp__table__34.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar_trunc PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__34)values__tmp__table__34.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_varchar_trunc order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_varchar_trunc order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=10 width=302)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=10 width=302)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
              TableScan [TS_0] (rows=10 width=302)
                default@part_change_numeric_group_string_group_floating_varchar_trunc,part_change_numeric_group_string_group_floating_varchar_trunc,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_varchar_trunc order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar_trunc
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar_trunc@part=1
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar_trunc@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_varchar_trunc order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar_trunc
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar_trunc@part=1
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar_trunc@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	-238667	753.702	-3651.6	original
10	1	17	90000	7540721	new
2	1	-10.3	-2.0	-29.076	original
3	1	9000000	-255.0	4957.0	original
4	1	-999999	0.0	20435.0	original
5	2	30.774	20.31	46114.2	new
6	2	-66475.	5292771	7203778	new
7	2	256	32768	31889	new
8	2	5555	40000	-719017	new
9	1	100	5000	5443	new
PREHOOK: query: drop table part_change_numeric_group_string_group_floating_varchar_trunc
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar_trunc
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar_trunc
POSTHOOK: query: drop table part_change_numeric_group_string_group_floating_varchar_trunc
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar_trunc
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar_trunc
PREHOOK: query: ------------------------------------------------------------------------------------------
-- SECTION: ALTER TABLE CHANGE COLUMNS for STRING_GROUP -> STRING_GROUP
--
--
--
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for STRING_GROUP -> STRING_GROUP: STRING, (CHAR, CHAR trunc, VARCHAR, VARCHAR trunc)
--
CREATE TABLE part_change_string_group_string_group_string(insert_num int, c1 string, c2 string, c3 string, c4 string, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_string_group_string_group_string
POSTHOOK: query: ------------------------------------------------------------------------------------------
-- SECTION: ALTER TABLE CHANGE COLUMNS for STRING_GROUP -> STRING_GROUP
--
--
--
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for STRING_GROUP -> STRING_GROUP: STRING, (CHAR, CHAR trunc, VARCHAR, VARCHAR trunc)
--
CREATE TABLE part_change_string_group_string_group_string(insert_num int, c1 string, c2 string, c3 string, c4 string, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_string_group_string_group_string
PREHOOK: query: insert into table part_change_string_group_string_group_string partition(part=1)
    values (1, 'escapist', 'escapist', 'escapist', 'escapist', 'original'),
           (2, 'heartbeat', 'heartbeat', 'heartbeat', 'heartbeat', 'original'),
           (3, 'dynamic reptile', 'dynamic reptile', 'dynamic reptile', 'dynamic reptile', 'original'),
           (4, 'blank pads   ', 'blank pads   ', 'blank pads   ', 'blank pads   ', 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__35
PREHOOK: Output: default@part_change_string_group_string_group_string@part=1
POSTHOOK: query: insert into table part_change_string_group_string_group_string partition(part=1)
    values (1, 'escapist', 'escapist', 'escapist', 'escapist', 'original'),
           (2, 'heartbeat', 'heartbeat', 'heartbeat', 'heartbeat', 'original'),
           (3, 'dynamic reptile', 'dynamic reptile', 'dynamic reptile', 'dynamic reptile', 'original'),
           (4, 'blank pads   ', 'blank pads   ', 'blank pads   ', 'blank pads   ', 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__35
POSTHOOK: Output: default@part_change_string_group_string_group_string@part=1
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=1).b SIMPLE [(values__tmp__table__35)values__tmp__table__35.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=1).c1 SIMPLE [(values__tmp__table__35)values__tmp__table__35.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=1).c2 SIMPLE [(values__tmp__table__35)values__tmp__table__35.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=1).c3 SIMPLE [(values__tmp__table__35)values__tmp__table__35.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=1).c4 SIMPLE [(values__tmp__table__35)values__tmp__table__35.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__35)values__tmp__table__35.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5
PREHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_string_group_string_group_string order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_string_group_string_group_string
PREHOOK: Input: default@part_change_string_group_string_group_string@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_string_group_string_group_string order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_string_group_string_group_string
POSTHOOK: Input: default@part_change_string_group_string_group_string@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	b
1	1	escapist	escapist	escapist	escapist	original
2	1	heartbeat	heartbeat	heartbeat	heartbeat	original
3	1	dynamic reptile	dynamic reptile	dynamic reptile	dynamic reptile	original
4	1	blank pads   	blank pads   	blank pads   	blank pads   	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_string_group_string_group_string replace columns (insert_num int, c1 CHAR(50), c2 CHAR(9), c3 VARCHAR(50), c4 CHAR(9), b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_string_group_string_group_string
PREHOOK: Output: default@part_change_string_group_string_group_string
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_string_group_string_group_string replace columns (insert_num int, c1 CHAR(50), c2 CHAR(9), c3 VARCHAR(50), c4 CHAR(9), b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_string_group_string_group_string
POSTHOOK: Output: default@part_change_string_group_string_group_string
PREHOOK: query: insert into table part_change_string_group_string_group_string partition(part)
    values (5, 'junkyard', 'junkyard', 'junkyard', 'junkyard', 'new', 2),
           (6, '  baffling    ', '  baffling    ', '  baffling    ', '  baffling    ', 'new', 2),
           (7, '           featherweight  ', '           featherweight  ','           featherweight  ','           featherweight  ', 'new', 2),
           (8, '  against', '  against', '  against', '  against', 'new', 2),
           (9, 'hangar paralysed companion ', 'hangar paralysed companion ', 'hangar paralysed companion ', 'hangar paralysed companion ', 'new', 1),
           (10, 'bottom  ', 'bottom  ', 'bottom  ', 'bottom  ', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__36
PREHOOK: Output: default@part_change_string_group_string_group_string
POSTHOOK: query: insert into table part_change_string_group_string_group_string partition(part)
    values (5, 'junkyard', 'junkyard', 'junkyard', 'junkyard', 'new', 2),
           (6, '  baffling    ', '  baffling    ', '  baffling    ', '  baffling    ', 'new', 2),
           (7, '           featherweight  ', '           featherweight  ','           featherweight  ','           featherweight  ', 'new', 2),
           (8, '  against', '  against', '  against', '  against', 'new', 2),
           (9, 'hangar paralysed companion ', 'hangar paralysed companion ', 'hangar paralysed companion ', 'hangar paralysed companion ', 'new', 1),
           (10, 'bottom  ', 'bottom  ', 'bottom  ', 'bottom  ', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__36
POSTHOOK: Output: default@part_change_string_group_string_group_string@part=1
POSTHOOK: Output: default@part_change_string_group_string_group_string@part=2
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=1).b SIMPLE [(values__tmp__table__36)values__tmp__table__36.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__36)values__tmp__table__36.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__36)values__tmp__table__36.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__36)values__tmp__table__36.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__36)values__tmp__table__36.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__36)values__tmp__table__36.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=2).b SIMPLE [(values__tmp__table__36)values__tmp__table__36.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__36)values__tmp__table__36.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__36)values__tmp__table__36.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__36)values__tmp__table__36.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=2).c4 EXPRESSION [(values__tmp__table__36)values__tmp__table__36.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__36)values__tmp__table__36.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,b from part_change_string_group_string_group_string order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,b from part_change_string_group_string_group_string order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=10 width=496)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=10 width=496)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
              TableScan [TS_0] (rows=10 width=496)
                default@part_change_string_group_string_group_string,part_change_string_group_string_group_string,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","c4","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_string_group_string_group_string order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_string_group_string_group_string
PREHOOK: Input: default@part_change_string_group_string_group_string@part=1
PREHOOK: Input: default@part_change_string_group_string_group_string@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_string_group_string_group_string order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_string_group_string_group_string
POSTHOOK: Input: default@part_change_string_group_string_group_string@part=1
POSTHOOK: Input: default@part_change_string_group_string_group_string@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	b
1	1	escapist                                          	escapist 	escapist	escapist 	original
10	1	bottom                                            	bottom   	bottom  	bottom   	new
2	1	heartbeat                                         	heartbeat	heartbeat	heartbeat	original
3	1	dynamic reptile                                   	dynamic r	dynamic reptile	dynamic r	original
4	1	blank pads                                        	blank pad	blank pads   	blank pad	original
5	2	junkyard                                          	junkyard 	junkyard	junkyard 	new
6	2	  baffling                                        	  bafflin	  baffling    	  bafflin	new
7	2	           featherweight                          	         	           featherweight  	         	new
8	2	  against                                         	  against	  against	  against	new
9	1	hangar paralysed companion                        	hangar pa	hangar paralysed companion 	hangar pa	new
PREHOOK: query: drop table part_change_string_group_string_group_string
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_string_group_string_group_string
PREHOOK: Output: default@part_change_string_group_string_group_string
POSTHOOK: query: drop table part_change_string_group_string_group_string
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_string_group_string_group_string
POSTHOOK: Output: default@part_change_string_group_string_group_string
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for STRING_GROUP -> STRING_GROUP: CHAR, (VARCHAR, VARCHAR trunc, STRING)
--
CREATE TABLE part_change_string_group_string_group_char(insert_num int, c1 CHAR(50), c2 CHAR(50), c3 CHAR(50), b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_string_group_string_group_char
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for STRING_GROUP -> STRING_GROUP: CHAR, (VARCHAR, VARCHAR trunc, STRING)
--
CREATE TABLE part_change_string_group_string_group_char(insert_num int, c1 CHAR(50), c2 CHAR(50), c3 CHAR(50), b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_string_group_string_group_char
PREHOOK: query: insert into table part_change_string_group_string_group_char partition(part=1)
    values (1, 'escapist', 'escapist', 'escapist', 'original'),
           (2, 'heartbeat', 'heartbeat', 'heartbeat', 'original'),
           (3, 'dynamic reptile', 'dynamic reptile', 'dynamic reptile', 'original'),
           (4, 'blank pads   ', 'blank pads   ', 'blank pads   ', 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__37
PREHOOK: Output: default@part_change_string_group_string_group_char@part=1
POSTHOOK: query: insert into table part_change_string_group_string_group_char partition(part=1)
    values (1, 'escapist', 'escapist', 'escapist', 'original'),
           (2, 'heartbeat', 'heartbeat', 'heartbeat', 'original'),
           (3, 'dynamic reptile', 'dynamic reptile', 'dynamic reptile', 'original'),
           (4, 'blank pads   ', 'blank pads   ', 'blank pads   ', 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__37
POSTHOOK: Output: default@part_change_string_group_string_group_char@part=1
POSTHOOK: Lineage: part_change_string_group_string_group_char PARTITION(part=1).b SIMPLE [(values__tmp__table__37)values__tmp__table__37.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_char PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__37)values__tmp__table__37.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_char PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__37)values__tmp__table__37.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_char PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__37)values__tmp__table__37.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_char PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__37)values__tmp__table__37.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_string_group_string_group_char order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_string_group_string_group_char
PREHOOK: Input: default@part_change_string_group_string_group_char@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_string_group_string_group_char order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_string_group_string_group_char
POSTHOOK: Input: default@part_change_string_group_string_group_char@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	escapist                                          	escapist                                          	escapist                                          	original
2	1	heartbeat                                         	heartbeat                                         	heartbeat                                         	original
3	1	dynamic reptile                                   	dynamic reptile                                   	dynamic reptile                                   	original
4	1	blank pads                                        	blank pads                                        	blank pads                                        	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_string_group_string_group_char replace columns (insert_num int, c1 VARCHAR(50), c2 VARCHAR(9), c3 STRING, b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_string_group_string_group_char
PREHOOK: Output: default@part_change_string_group_string_group_char
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_string_group_string_group_char replace columns (insert_num int, c1 VARCHAR(50), c2 VARCHAR(9), c3 STRING, b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_string_group_string_group_char
POSTHOOK: Output: default@part_change_string_group_string_group_char
PREHOOK: query: insert into table part_change_string_group_string_group_char partition(part)
    values (5, 'junkyard', 'junkyard', 'junkyard', 'new', 2),
           (6, '  baffling    ', '  baffling    ', '  baffling    ', 'new', 2),
           (7, '           featherweight  ', '           featherweight  ','           featherweight  ', 'new', 2),
           (8, '  against', '  against', '  against', 'new', 2),
           (9, 'hangar paralysed companion ', 'hangar paralysed companion ', 'hangar paralysed companion ', 'new', 1),
           (10, 'bottom  ', 'bottom  ', 'bottom  ', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__38
PREHOOK: Output: default@part_change_string_group_string_group_char
POSTHOOK: query: insert into table part_change_string_group_string_group_char partition(part)
    values (5, 'junkyard', 'junkyard', 'junkyard', 'new', 2),
           (6, '  baffling    ', '  baffling    ', '  baffling    ', 'new', 2),
           (7, '           featherweight  ', '           featherweight  ','           featherweight  ', 'new', 2),
           (8, '  against', '  against', '  against', 'new', 2),
           (9, 'hangar paralysed companion ', 'hangar paralysed companion ', 'hangar paralysed companion ', 'new', 1),
           (10, 'bottom  ', 'bottom  ', 'bottom  ', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__38
POSTHOOK: Output: default@part_change_string_group_string_group_char@part=1
POSTHOOK: Output: default@part_change_string_group_string_group_char@part=2
POSTHOOK: Lineage: part_change_string_group_string_group_char PARTITION(part=1).b SIMPLE [(values__tmp__table__38)values__tmp__table__38.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_char PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__38)values__tmp__table__38.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_char PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__38)values__tmp__table__38.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_char PARTITION(part=1).c3 SIMPLE [(values__tmp__table__38)values__tmp__table__38.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_char PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__38)values__tmp__table__38.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_char PARTITION(part=2).b SIMPLE [(values__tmp__table__38)values__tmp__table__38.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_char PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__38)values__tmp__table__38.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_char PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__38)values__tmp__table__38.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_char PARTITION(part=2).c3 SIMPLE [(values__tmp__table__38)values__tmp__table__38.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_char PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__38)values__tmp__table__38.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_string_group_string_group_char order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_string_group_string_group_char order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=10 width=427)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=10 width=427)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
              TableScan [TS_0] (rows=10 width=427)
                default@part_change_string_group_string_group_char,part_change_string_group_string_group_char,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_string_group_string_group_char order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_string_group_string_group_char
PREHOOK: Input: default@part_change_string_group_string_group_char@part=1
PREHOOK: Input: default@part_change_string_group_string_group_char@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_string_group_string_group_char order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_string_group_string_group_char
POSTHOOK: Input: default@part_change_string_group_string_group_char@part=1
POSTHOOK: Input: default@part_change_string_group_string_group_char@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	escapist	escapist	escapist	original
10	1	bottom  	bottom  	bottom  	new
2	1	heartbeat	heartbeat	heartbeat	original
3	1	dynamic reptile	dynamic r	dynamic reptile	original
4	1	blank pads	blank pad	blank pads	original
5	2	junkyard	junkyard	junkyard	new
6	2	  baffling    	  bafflin	  baffling    	new
7	2	           featherweight  	         	           featherweight  	new
8	2	  against	  against	  against	new
9	1	hangar paralysed companion 	hangar pa	hangar paralysed companion 	new
PREHOOK: query: drop table part_change_string_group_string_group_char
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_string_group_string_group_char
PREHOOK: Output: default@part_change_string_group_string_group_char
POSTHOOK: query: drop table part_change_string_group_string_group_char
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_string_group_string_group_char
POSTHOOK: Output: default@part_change_string_group_string_group_char
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for STRING_GROUP -> STRING_GROUP: VARCHAR, (CHAR, CHAR trunc, STRING)
--
CREATE TABLE part_change_string_group_string_group_varchar(insert_num int, c1 VARCHAR(50), c2 VARCHAR(50), c3 VARCHAR(50), b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_string_group_string_group_varchar
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for STRING_GROUP -> STRING_GROUP: VARCHAR, (CHAR, CHAR trunc, STRING)
--
CREATE TABLE part_change_string_group_string_group_varchar(insert_num int, c1 VARCHAR(50), c2 VARCHAR(50), c3 VARCHAR(50), b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_string_group_string_group_varchar
PREHOOK: query: insert into table part_change_string_group_string_group_varchar partition(part=1)
    values (1, 'escapist', 'escapist', 'escapist', 'original'),
           (2, 'heartbeat', 'heartbeat', 'heartbeat', 'original'),
           (3, 'dynamic reptile', 'dynamic reptile', 'dynamic reptile', 'original'),
           (4, 'blank pads   ', 'blank pads   ', 'blank pads   ', 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__39
PREHOOK: Output: default@part_change_string_group_string_group_varchar@part=1
POSTHOOK: query: insert into table part_change_string_group_string_group_varchar partition(part=1)
    values (1, 'escapist', 'escapist', 'escapist', 'original'),
           (2, 'heartbeat', 'heartbeat', 'heartbeat', 'original'),
           (3, 'dynamic reptile', 'dynamic reptile', 'dynamic reptile', 'original'),
           (4, 'blank pads   ', 'blank pads   ', 'blank pads   ', 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__39
POSTHOOK: Output: default@part_change_string_group_string_group_varchar@part=1
POSTHOOK: Lineage: part_change_string_group_string_group_varchar PARTITION(part=1).b SIMPLE [(values__tmp__table__39)values__tmp__table__39.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_varchar PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__39)values__tmp__table__39.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_varchar PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__39)values__tmp__table__39.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_varchar PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__39)values__tmp__table__39.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_varchar PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__39)values__tmp__table__39.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_string_group_string_group_varchar order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_string_group_string_group_varchar
PREHOOK: Input: default@part_change_string_group_string_group_varchar@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_string_group_string_group_varchar order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_string_group_string_group_varchar
POSTHOOK: Input: default@part_change_string_group_string_group_varchar@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	escapist	escapist	escapist	original
2	1	heartbeat	heartbeat	heartbeat	original
3	1	dynamic reptile	dynamic reptile	dynamic reptile	original
4	1	blank pads   	blank pads   	blank pads   	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_string_group_string_group_varchar replace columns (insert_num int, c1 CHAR(50), c2 CHAR(9), c3 STRING, b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_string_group_string_group_varchar
PREHOOK: Output: default@part_change_string_group_string_group_varchar
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_string_group_string_group_varchar replace columns (insert_num int, c1 CHAR(50), c2 CHAR(9), c3 STRING, b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_string_group_string_group_varchar
POSTHOOK: Output: default@part_change_string_group_string_group_varchar
PREHOOK: query: insert into table part_change_string_group_string_group_varchar partition(part)
    values (5, 'junkyard', 'junkyard', 'junkyard', 'new', 2),
           (6, '  baffling    ', '  baffling    ', '  baffling    ', 'new', 2),
           (7, '           featherweight  ', '           featherweight  ','           featherweight  ', 'new', 2),
           (8, '  against', '  against', '  against', 'new', 2),
           (9, 'hangar paralysed companion ', 'hangar paralysed companion ', 'hangar paralysed companion ', 'new', 1),
           (10, 'bottom  ', 'bottom  ', 'bottom  ', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__40
PREHOOK: Output: default@part_change_string_group_string_group_varchar
POSTHOOK: query: insert into table part_change_string_group_string_group_varchar partition(part)
    values (5, 'junkyard', 'junkyard', 'junkyard', 'new', 2),
           (6, '  baffling    ', '  baffling    ', '  baffling    ', 'new', 2),
           (7, '           featherweight  ', '           featherweight  ','           featherweight  ', 'new', 2),
           (8, '  against', '  against', '  against', 'new', 2),
           (9, 'hangar paralysed companion ', 'hangar paralysed companion ', 'hangar paralysed companion ', 'new', 1),
           (10, 'bottom  ', 'bottom  ', 'bottom  ', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__40
POSTHOOK: Output: default@part_change_string_group_string_group_varchar@part=1
POSTHOOK: Output: default@part_change_string_group_string_group_varchar@part=2
POSTHOOK: Lineage: part_change_string_group_string_group_varchar PARTITION(part=1).b SIMPLE [(values__tmp__table__40)values__tmp__table__40.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_varchar PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__40)values__tmp__table__40.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_varchar PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__40)values__tmp__table__40.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_varchar PARTITION(part=1).c3 SIMPLE [(values__tmp__table__40)values__tmp__table__40.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_varchar PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__40)values__tmp__table__40.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_varchar PARTITION(part=2).b SIMPLE [(values__tmp__table__40)values__tmp__table__40.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_varchar PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__40)values__tmp__table__40.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_varchar PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__40)values__tmp__table__40.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_varchar PARTITION(part=2).c3 SIMPLE [(values__tmp__table__40)values__tmp__table__40.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_varchar PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__40)values__tmp__table__40.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_string_group_string_group_varchar order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_string_group_string_group_varchar order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=10 width=402)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=10 width=402)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
              TableScan [TS_0] (rows=10 width=402)
                default@part_change_string_group_string_group_varchar,part_change_string_group_string_group_varchar,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_string_group_string_group_varchar order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_string_group_string_group_varchar
PREHOOK: Input: default@part_change_string_group_string_group_varchar@part=1
PREHOOK: Input: default@part_change_string_group_string_group_varchar@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_string_group_string_group_varchar order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_string_group_string_group_varchar
POSTHOOK: Input: default@part_change_string_group_string_group_varchar@part=1
POSTHOOK: Input: default@part_change_string_group_string_group_varchar@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	escapist                                          	escapist 	escapist	original
10	1	bottom                                            	bottom   	bottom  	new
2	1	heartbeat                                         	heartbeat	heartbeat	original
3	1	dynamic reptile                                   	dynamic r	dynamic reptile	original
4	1	blank pads                                        	blank pad	blank pads   	original
5	2	junkyard                                          	junkyard 	junkyard	new
6	2	  baffling                                        	  bafflin	  baffling    	new
7	2	           featherweight                          	         	           featherweight  	new
8	2	  against                                         	  against	  against	new
9	1	hangar paralysed companion                        	hangar pa	hangar paralysed companion 	new
PREHOOK: query: drop table part_change_string_group_string_group_varchar
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_string_group_string_group_varchar
PREHOOK: Output: default@part_change_string_group_string_group_varchar
POSTHOOK: query: drop table part_change_string_group_string_group_varchar
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_string_group_string_group_varchar
POSTHOOK: Output: default@part_change_string_group_string_group_varchar
PREHOOK: query: ------------------------------------------------------------------------------------------
-- SECTION: ALTER TABLE CHANGE COLUMNS for "lower" type to "higher" NUMERIC_GROUP
--
--
--
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for "lower" type to "higher" NUMERIC_GROUP: TINYINT, (SMALLINT, INT, BIGINT, DECIMAL, FLOAT, DOUBLE)
--
CREATE TABLE part_change_lower_to_higher_numeric_group_tinyint(insert_num int, c1 tinyint, c2 tinyint, c3 tinyint, c4 tinyint, c5 tinyint, c6 tinyint, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_tinyint
POSTHOOK: query: ------------------------------------------------------------------------------------------
-- SECTION: ALTER TABLE CHANGE COLUMNS for "lower" type to "higher" NUMERIC_GROUP
--
--
--
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for "lower" type to "higher" NUMERIC_GROUP: TINYINT, (SMALLINT, INT, BIGINT, DECIMAL, FLOAT, DOUBLE)
--
CREATE TABLE part_change_lower_to_higher_numeric_group_tinyint(insert_num int, c1 tinyint, c2 tinyint, c3 tinyint, c4 tinyint, c5 tinyint, c6 tinyint, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_tinyint
PREHOOK: query: insert into table part_change_lower_to_higher_numeric_group_tinyint partition(part=1)
    values (1, 45, 45, 45, 45, 45, 45, 'original'),
           (2, -2, -2, -2, -2, -2, -2, 'original'),
           (3, -255, -255, -255, -255, -255, -255, 'original'),
           (4, 100, 100, 100, 100, 100, 100, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__41
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_tinyint@part=1
POSTHOOK: query: insert into table part_change_lower_to_higher_numeric_group_tinyint partition(part=1)
    values (1, 45, 45, 45, 45, 45, 45, 'original'),
           (2, -2, -2, -2, -2, -2, -2, 'original'),
           (3, -255, -255, -255, -255, -255, -255, 'original'),
           (4, 100, 100, 100, 100, 100, 100, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__41
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_tinyint@part=1
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).b SIMPLE [(values__tmp__table__41)values__tmp__table__41.FieldSchema(name:tmp_values_col8, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__41)values__tmp__table__41.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__41)values__tmp__table__41.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__41)values__tmp__table__41.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__41)values__tmp__table__41.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).c5 EXPRESSION [(values__tmp__table__41)values__tmp__table__41.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).c6 EXPRESSION [(values__tmp__table__41)values__tmp__table__41.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__41)values__tmp__table__41.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6	_col7
PREHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_lower_to_higher_numeric_group_tinyint order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_tinyint
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_tinyint@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_lower_to_higher_numeric_group_tinyint order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_tinyint
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_tinyint@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	c5	c6	b
1	1	45	45	45	45	45	45	original
2	1	-2	-2	-2	-2	-2	-2	original
3	1	NULL	NULL	NULL	NULL	NULL	NULL	original
4	1	100	100	100	100	100	100	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_lower_to_higher_numeric_group_tinyint replace columns (insert_num int, c1 SMALLINT, c2 INT, c3 BIGINT, c4 decimal(38,18), c5 FLOAT, c6 DOUBLE, b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_tinyint
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_tinyint
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_lower_to_higher_numeric_group_tinyint replace columns (insert_num int, c1 SMALLINT, c2 INT, c3 BIGINT, c4 decimal(38,18), c5 FLOAT, c6 DOUBLE, b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_tinyint
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_tinyint
PREHOOK: query: insert into table part_change_lower_to_higher_numeric_group_tinyint partition(part)
    values (5, '774', '2031', '200', '12', '99', '0', 'new', 2),
           (6, '561431', '52927714', '7203778961',  '8', '7', '6', 'new', 2),
           (7, '256', '32768', '31889', '300', '444', '506', 'new', 2),
           (8, '5555', '40000', '-719017797', '45', '55', '65', 'new', 2),
           (9, '100', '5000', '5443', '22', '2', '-2', 'new', 1),
           (10, '17', '90000', '754072151', '95', '20', '18', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__42
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_tinyint
POSTHOOK: query: insert into table part_change_lower_to_higher_numeric_group_tinyint partition(part)
    values (5, '774', '2031', '200', '12', '99', '0', 'new', 2),
           (6, '561431', '52927714', '7203778961',  '8', '7', '6', 'new', 2),
           (7, '256', '32768', '31889', '300', '444', '506', 'new', 2),
           (8, '5555', '40000', '-719017797', '45', '55', '65', 'new', 2),
           (9, '100', '5000', '5443', '22', '2', '-2', 'new', 1),
           (10, '17', '90000', '754072151', '95', '20', '18', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__42
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_tinyint@part=1
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_tinyint@part=2
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).b SIMPLE [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col8, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).c5 EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).c6 EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=2).b SIMPLE [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col8, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=2).c4 EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=2).c5 EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=2).c6 EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6	_col7	_col8
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_lower_to_higher_numeric_group_tinyint order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_lower_to_higher_numeric_group_tinyint order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=10 width=183)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=10 width=183)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
              TableScan [TS_0] (rows=10 width=183)
                default@part_change_lower_to_higher_numeric_group_tinyint,part_change_lower_to_higher_numeric_group_tinyint,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","c4","c5","c6","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_lower_to_higher_numeric_group_tinyint order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_tinyint
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_tinyint@part=1
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_tinyint@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_lower_to_higher_numeric_group_tinyint order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_tinyint
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_tinyint@part=1
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_tinyint@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	c5	c6	b
1	1	45	45	45	45.000000000000000000	45.0	45.0	original
10	1	17	90000	754072151	95.000000000000000000	20.0	18.0	new
2	1	-2	-2	-2	-2.000000000000000000	-2.0	-2.0	original
3	1	NULL	NULL	NULL	NULL	NULL	NULL	original
4	1	100	100	100	100.000000000000000000	100.0	100.0	original
5	2	774	2031	200	12.000000000000000000	99.0	0.0	new
6	2	NULL	52927714	7203778961	8.000000000000000000	7.0	6.0	new
7	2	256	32768	31889	300.000000000000000000	444.0	506.0	new
8	2	5555	40000	-719017797	45.000000000000000000	55.0	65.0	new
9	1	100	5000	5443	22.000000000000000000	2.0	-2.0	new
PREHOOK: query: drop table part_change_lower_to_higher_numeric_group_tinyint
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_tinyint
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_tinyint
POSTHOOK: query: drop table part_change_lower_to_higher_numeric_group_tinyint
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_tinyint
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_tinyint
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for "lower" type to "higher" NUMERIC_GROUP: SMALLINT, (INT, BIGINT, DECIMAL, FLOAT, DOUBLE)
--
CREATE TABLE part_change_lower_to_higher_numeric_group_smallint(insert_num int, c1 smallint, c2 smallint, c3 smallint, c4 smallint, c5 smallint, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_smallint
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for "lower" type to "higher" NUMERIC_GROUP: SMALLINT, (INT, BIGINT, DECIMAL, FLOAT, DOUBLE)
--
CREATE TABLE part_change_lower_to_higher_numeric_group_smallint(insert_num int, c1 smallint, c2 smallint, c3 smallint, c4 smallint, c5 smallint, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_smallint
PREHOOK: query: insert into table part_change_lower_to_higher_numeric_group_smallint partition(part=1)
    values (1, 2031, 2031, 2031, 2031, 2031, 'original'),
           (2, -2, -2, -2, -2, -2, 'original'),
           (3, -5000, -5000, -5000, -5000, -5000, 'original'),
           (4, 100, 100, 100, 100, 100, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__43
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_smallint@part=1
POSTHOOK: query: insert into table part_change_lower_to_higher_numeric_group_smallint partition(part=1)
    values (1, 2031, 2031, 2031, 2031, 2031, 'original'),
           (2, -2, -2, -2, -2, -2, 'original'),
           (3, -5000, -5000, -5000, -5000, -5000, 'original'),
           (4, 100, 100, 100, 100, 100, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__43
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_smallint@part=1
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=1).b SIMPLE [(values__tmp__table__43)values__tmp__table__43.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__43)values__tmp__table__43.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__43)values__tmp__table__43.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__43)values__tmp__table__43.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__43)values__tmp__table__43.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=1).c5 EXPRESSION [(values__tmp__table__43)values__tmp__table__43.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__43)values__tmp__table__43.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6
PREHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,b from part_change_lower_to_higher_numeric_group_smallint order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_smallint
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_smallint@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,b from part_change_lower_to_higher_numeric_group_smallint order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_smallint
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_smallint@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	c5	b
1	1	2031	2031	2031	2031	2031	original
2	1	-2	-2	-2	-2	-2	original
3	1	-5000	-5000	-5000	-5000	-5000	original
4	1	100	100	100	100	100	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_lower_to_higher_numeric_group_smallint replace columns (insert_num int, c1 INT, c2 BIGINT, c3 decimal(38,18), c4 FLOAT, c5 DOUBLE, b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_smallint
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_smallint
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_lower_to_higher_numeric_group_smallint replace columns (insert_num int, c1 INT, c2 BIGINT, c3 decimal(38,18), c4 FLOAT, c5 DOUBLE, b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_smallint
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_smallint
PREHOOK: query: insert into table part_change_lower_to_higher_numeric_group_smallint partition(part)
    values (5, '774', '2031', '200', '12', '99', 'new', 2),
           (6, '561431', '52927714', '7203778961',  '8', '7', 'new', 2),
           (7, '256', '32768', '31889', '300', '444', 'new', 2),
           (8, '5555', '40000', '-719017797', '45', '55', 'new', 2),
           (9, '100', '5000', '5443', '22', '2', 'new', 1),
           (10, '17', '90000', '754072151', '95', '20', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__44
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_smallint
POSTHOOK: query: insert into table part_change_lower_to_higher_numeric_group_smallint partition(part)
    values (5, '774', '2031', '200', '12', '99', 'new', 2),
           (6, '561431', '52927714', '7203778961',  '8', '7', 'new', 2),
           (7, '256', '32768', '31889', '300', '444', 'new', 2),
           (8, '5555', '40000', '-719017797', '45', '55', 'new', 2),
           (9, '100', '5000', '5443', '22', '2', 'new', 1),
           (10, '17', '90000', '754072151', '95', '20', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__44
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_smallint@part=1
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_smallint@part=2
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=1).b SIMPLE [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=1).c5 EXPRESSION [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=2).b SIMPLE [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=2).c4 EXPRESSION [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=2).c5 EXPRESSION [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6	_col7
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,c5,b from part_change_lower_to_higher_numeric_group_smallint order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,c5,b from part_change_lower_to_higher_numeric_group_smallint order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=10 width=182)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=10 width=182)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
              TableScan [TS_0] (rows=10 width=182)
                default@part_change_lower_to_higher_numeric_group_smallint,part_change_lower_to_higher_numeric_group_smallint,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","c4","c5","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,b from part_change_lower_to_higher_numeric_group_smallint order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_smallint
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_smallint@part=1
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_smallint@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,b from part_change_lower_to_higher_numeric_group_smallint order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_smallint
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_smallint@part=1
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_smallint@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	c5	b
1	1	2031	2031	2031.000000000000000000	2031.0	2031.0	original
10	1	17	90000	754072151.000000000000000000	95.0	20.0	new
2	1	-2	-2	-2.000000000000000000	-2.0	-2.0	original
3	1	-5000	-5000	-5000.000000000000000000	-5000.0	-5000.0	original
4	1	100	100	100.000000000000000000	100.0	100.0	original
5	2	774	2031	200.000000000000000000	12.0	99.0	new
6	2	561431	52927714	7203778961.000000000000000000	8.0	7.0	new
7	2	256	32768	31889.000000000000000000	300.0	444.0	new
8	2	5555	40000	-719017797.000000000000000000	45.0	55.0	new
9	1	100	5000	5443.000000000000000000	22.0	2.0	new
PREHOOK: query: drop table part_change_lower_to_higher_numeric_group_smallint
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_smallint
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_smallint
POSTHOOK: query: drop table part_change_lower_to_higher_numeric_group_smallint
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_smallint
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_smallint
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for "lower" type to "higher" NUMERIC_GROUP: INT, (BIGINT, DECIMAL, FLOAT, DOUBLE)
--
CREATE TABLE part_change_lower_to_higher_numeric_group_int(insert_num int, c1 int, c2 int, c3 int, c4 int, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_int
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for "lower" type to "higher" NUMERIC_GROUP: INT, (BIGINT, DECIMAL, FLOAT, DOUBLE)
--
CREATE TABLE part_change_lower_to_higher_numeric_group_int(insert_num int, c1 int, c2 int, c3 int, c4 int, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_int
PREHOOK: query: insert into table part_change_lower_to_higher_numeric_group_int partition(part=1)
    values (1, 2031, 2031, 2031, 2031, 'original'),
           (2, -2, -2, -2, -2, 'original'),
           (3, -5000, -5000, -5000, -5000, 'original'),
           (4, 52927714, 52927714, 52927714, 52927714, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__45
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_int@part=1
POSTHOOK: query: insert into table part_change_lower_to_higher_numeric_group_int partition(part=1)
    values (1, 2031, 2031, 2031, 2031, 'original'),
           (2, -2, -2, -2, -2, 'original'),
           (3, -5000, -5000, -5000, -5000, 'original'),
           (4, 52927714, 52927714, 52927714, 52927714, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__45
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_int@part=1
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=1).b SIMPLE [(values__tmp__table__45)values__tmp__table__45.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__45)values__tmp__table__45.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__45)values__tmp__table__45.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__45)values__tmp__table__45.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__45)values__tmp__table__45.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__45)values__tmp__table__45.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5
PREHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_lower_to_higher_numeric_group_int order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_int
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_int@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_lower_to_higher_numeric_group_int order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_int
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_int@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	b
1	1	2031	2031	2031	2031	original
2	1	-2	-2	-2	-2	original
3	1	-5000	-5000	-5000	-5000	original
4	1	52927714	52927714	52927714	52927714	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_lower_to_higher_numeric_group_int replace columns (insert_num int, c1 BIGINT, c2 decimal(38,18), c3 FLOAT, c4 DOUBLE,  b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_int
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_int
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_lower_to_higher_numeric_group_int replace columns (insert_num int, c1 BIGINT, c2 decimal(38,18), c3 FLOAT, c4 DOUBLE,  b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_int
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_int
PREHOOK: query: insert into table part_change_lower_to_higher_numeric_group_int partition(part)
    values (5, '774', '2031', '200', '12', 'new', 2),
           (6, '561431', '52927714', '7203778961',  '8', 'new', 2),
           (7, '256', '32768', '31889', '300', 'new', 2),
           (8, '5555', '40000', '-719017797', '45', 'new', 2),
           (9, '100', '5000', '5443', '22', 'new', 1),
           (10, '17', '90000', '754072151', '95', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__46
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_int
POSTHOOK: query: insert into table part_change_lower_to_higher_numeric_group_int partition(part)
    values (5, '774', '2031', '200', '12', 'new', 2),
           (6, '561431', '52927714', '7203778961',  '8', 'new', 2),
           (7, '256', '32768', '31889', '300', 'new', 2),
           (8, '5555', '40000', '-719017797', '45', 'new', 2),
           (9, '100', '5000', '5443', '22', 'new', 1),
           (10, '17', '90000', '754072151', '95', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__46
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_int@part=1
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_int@part=2
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=1).b SIMPLE [(values__tmp__table__46)values__tmp__table__46.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__46)values__tmp__table__46.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__46)values__tmp__table__46.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__46)values__tmp__table__46.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__46)values__tmp__table__46.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__46)values__tmp__table__46.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=2).b SIMPLE [(values__tmp__table__46)values__tmp__table__46.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__46)values__tmp__table__46.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__46)values__tmp__table__46.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__46)values__tmp__table__46.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=2).c4 EXPRESSION [(values__tmp__table__46)values__tmp__table__46.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__46)values__tmp__table__46.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,b from part_change_lower_to_higher_numeric_group_int order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,b from part_change_lower_to_higher_numeric_group_int order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=10 width=178)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=10 width=178)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
              TableScan [TS_0] (rows=10 width=178)
                default@part_change_lower_to_higher_numeric_group_int,part_change_lower_to_higher_numeric_group_int,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","c4","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_lower_to_higher_numeric_group_int order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_int
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_int@part=1
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_int@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_lower_to_higher_numeric_group_int order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_int
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_int@part=1
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_int@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	b
1	1	2031	2031.000000000000000000	2031.0	2031.0	original
10	1	17	90000.000000000000000000	7.5407213E8	95.0	new
2	1	-2	-2.000000000000000000	-2.0	-2.0	original
3	1	-5000	-5000.000000000000000000	-5000.0	-5000.0	original
4	1	52927714	52927714.000000000000000000	5.2927712E7	5.2927714E7	original
5	2	774	2031.000000000000000000	200.0	12.0	new
6	2	561431	52927714.000000000000000000	7.2037791E9	8.0	new
7	2	256	32768.000000000000000000	31889.0	300.0	new
8	2	5555	40000.000000000000000000	-7.1901779E8	45.0	new
9	1	100	5000.000000000000000000	5443.0	22.0	new
PREHOOK: query: drop table part_change_lower_to_higher_numeric_group_int
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_int
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_int
POSTHOOK: query: drop table part_change_lower_to_higher_numeric_group_int
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_int
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_int
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for "lower" type to "higher" NUMERIC_GROUP: BIGINT, (DECIMAL, FLOAT, DOUBLE)
--
CREATE TABLE part_change_lower_to_higher_numeric_group_bigint(insert_num int, c1 bigint, c2 bigint, c3 bigint, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_bigint
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for "lower" type to "higher" NUMERIC_GROUP: BIGINT, (DECIMAL, FLOAT, DOUBLE)
--
CREATE TABLE part_change_lower_to_higher_numeric_group_bigint(insert_num int, c1 bigint, c2 bigint, c3 bigint, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_bigint
PREHOOK: query: insert into table part_change_lower_to_higher_numeric_group_bigint partition(part=1)
    values (1, 7203778961, 7203778961, 7203778961, 'original'),
           (2, -2, -2, -2, 'original'),
           (3, -5000, -5000, -5000, 'original'),
           (4, 52927714, 52927714, 52927714, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__47
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_bigint@part=1
POSTHOOK: query: insert into table part_change_lower_to_higher_numeric_group_bigint partition(part=1)
    values (1, 7203778961, 7203778961, 7203778961, 'original'),
           (2, -2, -2, -2, 'original'),
           (3, -5000, -5000, -5000, 'original'),
           (4, 52927714, 52927714, 52927714, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__47
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_bigint@part=1
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_bigint PARTITION(part=1).b SIMPLE [(values__tmp__table__47)values__tmp__table__47.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_bigint PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__47)values__tmp__table__47.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_bigint PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__47)values__tmp__table__47.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_bigint PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__47)values__tmp__table__47.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_bigint PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__47)values__tmp__table__47.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_lower_to_higher_numeric_group_bigint order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_bigint
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_bigint@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_lower_to_higher_numeric_group_bigint order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_bigint
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_bigint@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	7203778961	7203778961	7203778961	original
2	1	-2	-2	-2	original
3	1	-5000	-5000	-5000	original
4	1	52927714	52927714	52927714	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_lower_to_higher_numeric_group_bigint replace columns (insert_num int, c1 decimal(38,18), c2 FLOAT, c3 DOUBLE, b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_bigint
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_bigint
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_lower_to_higher_numeric_group_bigint replace columns (insert_num int, c1 decimal(38,18), c2 FLOAT, c3 DOUBLE, b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_bigint
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_bigint
PREHOOK: query: insert into table part_change_lower_to_higher_numeric_group_bigint partition(part)
    values (5, '774', '2031', '200', 'new', 2),
           (6, '561431', '52927714', '7203778961', 'new', 2),
           (7, '256', '32768', '31889', 'new', 2),
           (8, '5555', '40000', '-719017797', 'new', 2),
           (9, '100', '5000', '5443', 'new', 1),
           (10, '17', '90000', '754072151', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__48
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_bigint
POSTHOOK: query: insert into table part_change_lower_to_higher_numeric_group_bigint partition(part)
    values (5, '774', '2031', '200', 'new', 2),
           (6, '561431', '52927714', '7203778961', 'new', 2),
           (7, '256', '32768', '31889', 'new', 2),
           (8, '5555', '40000', '-719017797', 'new', 2),
           (9, '100', '5000', '5443', 'new', 1),
           (10, '17', '90000', '754072151', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__48
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_bigint@part=1
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_bigint@part=2
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_bigint PARTITION(part=1).b SIMPLE [(values__tmp__table__48)values__tmp__table__48.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_bigint PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__48)values__tmp__table__48.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_bigint PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__48)values__tmp__table__48.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_bigint PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__48)values__tmp__table__48.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_bigint PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__48)values__tmp__table__48.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_bigint PARTITION(part=2).b SIMPLE [(values__tmp__table__48)values__tmp__table__48.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_bigint PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__48)values__tmp__table__48.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_bigint PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__48)values__tmp__table__48.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_bigint PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__48)values__tmp__table__48.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_bigint PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__48)values__tmp__table__48.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_lower_to_higher_numeric_group_bigint order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_lower_to_higher_numeric_group_bigint order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=10 width=177)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=10 width=177)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
              TableScan [TS_0] (rows=10 width=177)
                default@part_change_lower_to_higher_numeric_group_bigint,part_change_lower_to_higher_numeric_group_bigint,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_lower_to_higher_numeric_group_bigint order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_bigint
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_bigint@part=1
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_bigint@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_lower_to_higher_numeric_group_bigint order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_bigint
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_bigint@part=1
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_bigint@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	7203778961.000000000000000000	7.2037791E9	7.203778961E9	original
10	1	17.000000000000000000	90000.0	7.54072151E8	new
2	1	-2.000000000000000000	-2.0	-2.0	original
3	1	-5000.000000000000000000	-5000.0	-5000.0	original
4	1	52927714.000000000000000000	5.2927712E7	5.2927714E7	original
5	2	774.000000000000000000	2031.0	200.0	new
6	2	561431.000000000000000000	5.2927712E7	7.203778961E9	new
7	2	256.000000000000000000	32768.0	31889.0	new
8	2	5555.000000000000000000	40000.0	-7.19017797E8	new
9	1	100.000000000000000000	5000.0	5443.0	new
PREHOOK: query: drop table part_change_lower_to_higher_numeric_group_bigint
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_bigint
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_bigint
POSTHOOK: query: drop table part_change_lower_to_higher_numeric_group_bigint
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_bigint
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_bigint
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for "lower" type to "higher" NUMERIC_GROUP: DECIMAL, (FLOAT, DOUBLE)
--
CREATE TABLE part_change_lower_to_higher_numeric_group_decimal(insert_num int, c1 decimal(38,18), c2 decimal(38,18), b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_decimal
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for "lower" type to "higher" NUMERIC_GROUP: DECIMAL, (FLOAT, DOUBLE)
--
CREATE TABLE part_change_lower_to_higher_numeric_group_decimal(insert_num int, c1 decimal(38,18), c2 decimal(38,18), b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_decimal
PREHOOK: query: insert into table part_change_lower_to_higher_numeric_group_decimal partition(part=1)
    values (1, -29.0764, -29.0764, 'original'),
           (2, 753.7028, 753.7028, 'original'),
           (3, -5000, -5000, 'original'),
           (4, 52927714, 52927714, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__49
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_decimal@part=1
POSTHOOK: query: insert into table part_change_lower_to_higher_numeric_group_decimal partition(part=1)
    values (1, -29.0764, -29.0764, 'original'),
           (2, 753.7028, 753.7028, 'original'),
           (3, -5000, -5000, 'original'),
           (4, 52927714, 52927714, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__49
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_decimal@part=1
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_decimal PARTITION(part=1).b SIMPLE [(values__tmp__table__49)values__tmp__table__49.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_decimal PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__49)values__tmp__table__49.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_decimal PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__49)values__tmp__table__49.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_decimal PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__49)values__tmp__table__49.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3
PREHOOK: query: select insert_num,part,c1,b from part_change_lower_to_higher_numeric_group_decimal order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_decimal
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_decimal@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,b from part_change_lower_to_higher_numeric_group_decimal order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_decimal
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_decimal@part=1
#### A masked pattern was here ####
insert_num	part	c1	b
1	1	-29.076400000000000000	original
2	1	753.702800000000000000	original
3	1	-5000.000000000000000000	original
4	1	52927714.000000000000000000	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_lower_to_higher_numeric_group_decimal replace columns (insert_num int, c1 float, c2 double, b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_decimal
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_decimal
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_lower_to_higher_numeric_group_decimal replace columns (insert_num int, c1 float, c2 double, b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_decimal
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_decimal
PREHOOK: query: insert into table part_change_lower_to_higher_numeric_group_decimal partition(part)
    values (5, '7.74', '22.3', 'new', 2),
           (6, '56.1431', '90.9', 'new', 2),
           (7, '2.56', '25.6', 'new', 2),
           (8, '555.5', '55.55', 'new', 2),
           (9, '10.0', '0.100', 'new', 1),
           (10, '1.7', '17.8888', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__50
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_decimal
POSTHOOK: query: insert into table part_change_lower_to_higher_numeric_group_decimal partition(part)
    values (5, '7.74', '22.3', 'new', 2),
           (6, '56.1431', '90.9', 'new', 2),
           (7, '2.56', '25.6', 'new', 2),
           (8, '555.5', '55.55', 'new', 2),
           (9, '10.0', '0.100', 'new', 1),
           (10, '1.7', '17.8888', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__50
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_decimal@part=1
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_decimal@part=2
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_decimal PARTITION(part=1).b SIMPLE [(values__tmp__table__50)values__tmp__table__50.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_decimal PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__50)values__tmp__table__50.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_decimal PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__50)values__tmp__table__50.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_decimal PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__50)values__tmp__table__50.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_decimal PARTITION(part=2).b SIMPLE [(values__tmp__table__50)values__tmp__table__50.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_decimal PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__50)values__tmp__table__50.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_decimal PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__50)values__tmp__table__50.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_decimal PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__50)values__tmp__table__50.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: explain
select insert_num,part,c1,b from part_change_lower_to_higher_numeric_group_decimal order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,b from part_change_lower_to_higher_numeric_group_decimal order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=10 width=189)
          Output:["_col0","_col1","_col2","_col3"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=10 width=189)
              Output:["_col0","_col1","_col2","_col3"]
              TableScan [TS_0] (rows=10 width=189)
                default@part_change_lower_to_higher_numeric_group_decimal,part_change_lower_to_higher_numeric_group_decimal,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","b"]

PREHOOK: query: select insert_num,part,c1,b from part_change_lower_to_higher_numeric_group_decimal order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_decimal
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_decimal@part=1
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_decimal@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,b from part_change_lower_to_higher_numeric_group_decimal order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_decimal
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_decimal@part=1
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_decimal@part=2
#### A masked pattern was here ####
insert_num	part	c1	b
1	1	-29.0764	original
10	1	1.7	new
2	1	753.7028	original
3	1	-5000.0	original
4	1	5.2927712E7	original
5	2	7.74	new
6	2	56.1431	new
7	2	2.56	new
8	2	555.5	new
9	1	10.0	new
PREHOOK: query: drop table part_change_lower_to_higher_numeric_group_decimal
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_decimal
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_decimal
POSTHOOK: query: drop table part_change_lower_to_higher_numeric_group_decimal
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_decimal
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_decimal
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for "lower" type to "higher" NUMERIC_GROUP: FLOAT, (DOUBLE)
--
CREATE TABLE part_change_lower_to_higher_numeric_group_float(insert_num int, c1 float, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_float
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for "lower" type to "higher" NUMERIC_GROUP: FLOAT, (DOUBLE)
--
CREATE TABLE part_change_lower_to_higher_numeric_group_float(insert_num int, c1 float, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_float
PREHOOK: query: insert into table part_change_lower_to_higher_numeric_group_float partition(part=1)
    values (1, -29.0764, 'original'),
           (2, 753.7028, 'original'),
           (3, -5000, 'original'),
           (4, 52927714, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__51
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_float@part=1
POSTHOOK: query: insert into table part_change_lower_to_higher_numeric_group_float partition(part=1)
    values (1, -29.0764, 'original'),
           (2, 753.7028, 'original'),
           (3, -5000, 'original'),
           (4, 52927714, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__51
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_float@part=1
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_float PARTITION(part=1).b SIMPLE [(values__tmp__table__51)values__tmp__table__51.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_float PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__51)values__tmp__table__51.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_float PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__51)values__tmp__table__51.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2
PREHOOK: query: select insert_num,part,c1,b from part_change_lower_to_higher_numeric_group_float order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_float
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,b from part_change_lower_to_higher_numeric_group_float order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=1
#### A masked pattern was here ####
insert_num	part	c1	b
1	1	-29.0764	original
2	1	753.7028	original
3	1	-5000.0	original
4	1	5.2927712E7	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_lower_to_higher_numeric_group_float replace columns (insert_num int, c1 DOUBLE, b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_float
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_float
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_lower_to_higher_numeric_group_float replace columns (insert_num int, c1 DOUBLE, b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_float
PREHOOK: query: insert into table part_change_lower_to_higher_numeric_group_float partition(part)
    values (5, '774', 'new', 2),
           (6, '561431', 'new', 2),
           (7, '256', 'new', 2),
           (8, '5555', 'new', 2),
           (9, '100', 'new', 1),
           (10, '17',  'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__52
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_float
POSTHOOK: query: insert into table part_change_lower_to_higher_numeric_group_float partition(part)
    values (5, '774', 'new', 2),
           (6, '561431', 'new', 2),
           (7, '256', 'new', 2),
           (8, '5555', 'new', 2),
           (9, '100', 'new', 1),
           (10, '17',  'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__52
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_float@part=1
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_float@part=2
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_float PARTITION(part=1).b SIMPLE [(values__tmp__table__52)values__tmp__table__52.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_float PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__52)values__tmp__table__52.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_float PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__52)values__tmp__table__52.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_float PARTITION(part=2).b SIMPLE [(values__tmp__table__52)values__tmp__table__52.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_float PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__52)values__tmp__table__52.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_float PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__52)values__tmp__table__52.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3
PREHOOK: query: explain
select insert_num,part,c1,b from part_change_lower_to_higher_numeric_group_float order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,b from part_change_lower_to_higher_numeric_group_float order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=10 width=99)
          Output:["_col0","_col1","_col2","_col3"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=10 width=99)
              Output:["_col0","_col1","_col2","_col3"]
              TableScan [TS_0] (rows=10 width=99)
                default@part_change_lower_to_higher_numeric_group_float,part_change_lower_to_higher_numeric_group_float,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","b"]

PREHOOK: query: select insert_num,part,c1,b from part_change_lower_to_higher_numeric_group_float order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_float
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=1
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,b from part_change_lower_to_higher_numeric_group_float order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=1
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=2
#### A masked pattern was here ####
insert_num	part	c1	b
1	1	-29.0764	original
10	1	17.0	new
2	1	753.7028	original
3	1	-5000.0	original
4	1	5.2927712E7	original
5	2	774.0	new
6	2	561431.0	new
7	2	256.0	new
8	2	5555.0	new
9	1	100.0	new
PREHOOK: query: drop table part_change_lower_to_higher_numeric_group_float
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_float
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_float
POSTHOOK: query: drop table part_change_lower_to_higher_numeric_group_float
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_float
