HIVE-14515: Schema evolution uses slow INSERT INTO .. VALUES (Matt McCline, reviewed by Prasanth Jayachandran)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/cb534ab0 Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/cb534ab0 Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/cb534ab0 Branch: refs/heads/master Commit: cb534ab0347d9ea3604e8b9555c292ffb3084a7f Parents: 9a90c65 Author: Matt McCline <[email protected]> Authored: Sat Aug 27 23:30:46 2016 -0700 Committer: Matt McCline <[email protected]> Committed: Sat Aug 27 23:30:46 2016 -0700 ---------------------------------------------------------------------- data/files/same_type1_a.txt | 5 - data/files/same_type1_b.txt | 4 - data/files/same_type1_c.txt | 4 - .../schema_evolution/complex_struct1_a.txt | 4 + .../schema_evolution/complex_struct1_b.txt | 1 + .../schema_evolution/complex_struct1_c.txt | 1 + .../schema_evolution/complex_struct2_a.txt | 2 + .../schema_evolution/complex_struct2_b.txt | 2 + .../schema_evolution/complex_struct2_c.txt | 1 + .../schema_evolution/complex_struct2_d.txt | 1 + .../schema_evolution/complex_struct3_a.txt | 2 + .../schema_evolution/complex_struct3_b.txt | 1 + .../schema_evolution/complex_struct3_c.txt | 1 + .../schema_evolution/complex_struct4_a.txt | 2 + .../schema_evolution/complex_struct4_b.txt | 1 + .../schema_evolution/complex_struct4_c.txt | 1 + data/files/schema_evolution/same_type1_a.txt | 5 + data/files/schema_evolution/same_type1_b.txt | 4 + data/files/schema_evolution/same_type1_c.txt | 4 + .../schema_evolution/schema_evolution_data.txt | 5 + .../schema_evolution_data_2.txt | 10 + data/files/struct1_a.txt | 4 - data/files/struct1_b.txt | 1 - data/files/struct1_c.txt | 1 - data/files/struct2_a.txt | 2 - data/files/struct2_b.txt | 2 - data/files/struct2_c.txt | 1 - data/files/struct2_d.txt | 1 - data/files/struct3_a.txt | 2 - data/files/struct3_b.txt | 1 - data/files/struct3_c.txt | 1 - data/files/struct4_a.txt | 2 - data/files/struct4_b.txt | 1 - data/files/struct4_c.txt | 1 - .../test/resources/testconfiguration.properties | 54 +- .../schema_evol_orc_acid_mapwork_part.q | 860 ----------- .../schema_evol_orc_acid_mapwork_table.q | 857 ----------- .../clientpositive/schema_evol_orc_acid_part.q | 320 ++++ .../schema_evol_orc_acid_part_update.q | 117 ++ .../clientpositive/schema_evol_orc_acid_table.q | 312 ++++ .../schema_evol_orc_acid_table_update.q | 111 ++ .../schema_evol_orc_acidvec_mapwork_part.q | 860 ----------- .../schema_evol_orc_acidvec_mapwork_table.q | 857 ----------- .../schema_evol_orc_acidvec_part.q | 320 ++++ .../schema_evol_orc_acidvec_part_update.q | 117 ++ .../schema_evol_orc_acidvec_table.q | 312 ++++ .../schema_evol_orc_acidvec_table_update.q | 111 ++ .../schema_evol_orc_nonvec_fetchwork_part.q | 826 ---------- .../schema_evol_orc_nonvec_fetchwork_table.q | 825 ---------- .../schema_evol_orc_nonvec_mapwork_part.q | 826 ---------- ...a_evol_orc_nonvec_mapwork_part_all_complex.q | 163 -- ...evol_orc_nonvec_mapwork_part_all_primitive.q | 544 ------- .../schema_evol_orc_nonvec_mapwork_table.q | 827 ---------- .../schema_evol_orc_nonvec_part.q | 337 +++++ .../schema_evol_orc_nonvec_part_all_complex.q | 163 ++ .../schema_evol_orc_nonvec_part_all_primitive.q | 206 +++ .../schema_evol_orc_nonvec_table.q | 324 ++++ .../schema_evol_orc_vec_mapwork_part.q | 827 ---------- ...hema_evol_orc_vec_mapwork_part_all_complex.q | 163 -- ...ma_evol_orc_vec_mapwork_part_all_primitive.q | 544 ------- .../schema_evol_orc_vec_mapwork_table.q | 825 ---------- .../clientpositive/schema_evol_orc_vec_part.q | 338 +++++ .../schema_evol_orc_vec_part_all_complex.q | 163 ++ .../schema_evol_orc_vec_part_all_primitive.q | 206 +++ .../clientpositive/schema_evol_orc_vec_table.q | 323 ++++ .../schema_evol_text_nonvec_mapwork_part.q | 826 ---------- ..._evol_text_nonvec_mapwork_part_all_complex.q | 163 -- ...vol_text_nonvec_mapwork_part_all_primitive.q | 544 ------- .../schema_evol_text_nonvec_mapwork_table.q | 825 ---------- .../schema_evol_text_nonvec_part.q | 337 +++++ .../schema_evol_text_nonvec_part_all_complex.q | 163 ++ ...schema_evol_text_nonvec_part_all_primitive.q | 206 +++ .../schema_evol_text_nonvec_table.q | 323 ++++ .../schema_evol_text_vec_mapwork_part.q | 828 ---------- ...ema_evol_text_vec_mapwork_part_all_complex.q | 165 -- ...a_evol_text_vec_mapwork_part_all_primitive.q | 546 ------- .../schema_evol_text_vec_mapwork_table.q | 827 ---------- .../clientpositive/schema_evol_text_vec_part.q | 339 +++++ .../schema_evol_text_vec_part_all_complex.q | 165 ++ .../schema_evol_text_vec_part_all_primitive.q | 208 +++ .../clientpositive/schema_evol_text_vec_table.q | 325 ++++ .../schema_evol_text_vecrow_mapwork_part.q | 828 ---------- ..._evol_text_vecrow_mapwork_part_all_complex.q | 166 -- ...vol_text_vecrow_mapwork_part_all_primitive.q | 546 ------- .../schema_evol_text_vecrow_mapwork_table.q | 827 ---------- .../schema_evol_text_vecrow_part.q | 339 +++++ .../schema_evol_text_vecrow_part_all_complex.q | 166 ++ ...schema_evol_text_vecrow_part_all_primitive.q | 208 +++ .../schema_evol_text_vecrow_table.q | 325 ++++ .../llap/schema_evol_orc_acid_part.q.out | 1317 ++++++++++++++++ .../llap/schema_evol_orc_acid_part_update.q.out | 587 ++++++++ .../llap/schema_evol_orc_acid_table.q.out | 1234 +++++++++++++++ .../schema_evol_orc_acid_table_update.q.out | 499 ++++++ .../llap/schema_evol_orc_acidvec_part.q.out | 1317 ++++++++++++++++ .../schema_evol_orc_acidvec_part_update.q.out | 587 ++++++++ .../llap/schema_evol_orc_acidvec_table.q.out | 1234 +++++++++++++++ .../schema_evol_orc_acidvec_table_update.q.out | 499 ++++++ .../llap/schema_evol_orc_nonvec_part.q.out | 1413 +++++++++++++++++ ...chema_evol_orc_nonvec_part_all_complex.q.out | 648 ++++++++ ...ema_evol_orc_nonvec_part_all_primitive.q.out | 991 ++++++++++++ .../llap/schema_evol_orc_nonvec_table.q.out | 1330 ++++++++++++++++ .../llap/schema_evol_orc_vec_part.q.out | 1413 +++++++++++++++++ .../schema_evol_orc_vec_part_all_complex.q.out | 648 ++++++++ ...schema_evol_orc_vec_part_all_primitive.q.out | 991 ++++++++++++ .../llap/schema_evol_orc_vec_table.q.out | 1330 ++++++++++++++++ .../llap/schema_evol_text_nonvec_part.q.out | 1413 +++++++++++++++++ ...hema_evol_text_nonvec_part_all_complex.q.out | 648 ++++++++ ...ma_evol_text_nonvec_part_all_primitive.q.out | 991 ++++++++++++ .../llap/schema_evol_text_nonvec_table.q.out | 1330 ++++++++++++++++ .../llap/schema_evol_text_vec_part.q.out | 1417 ++++++++++++++++++ .../schema_evol_text_vec_part_all_complex.q.out | 652 ++++++++ ...chema_evol_text_vec_part_all_primitive.q.out | 995 ++++++++++++ .../llap/schema_evol_text_vec_table.q.out | 1334 +++++++++++++++++ .../llap/schema_evol_text_vecrow_part.q.out | 1417 ++++++++++++++++++ ...hema_evol_text_vecrow_part_all_complex.q.out | 654 ++++++++ ...ma_evol_text_vecrow_part_all_primitive.q.out | 995 ++++++++++++ .../llap/schema_evol_text_vecrow_table.q.out | 1334 +++++++++++++++++ 117 files changed, 36178 insertions(+), 16954 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/same_type1_a.txt ---------------------------------------------------------------------- diff --git a/data/files/same_type1_a.txt b/data/files/same_type1_a.txt deleted file mode 100644 index 85758d7..0000000 --- a/data/files/same_type1_a.txt +++ /dev/null @@ -1,5 +0,0 @@ -1|excess|corporation believable|gateway |thumb repeat continuous|76855494.39|116074482533.2156|original -2|mutation|hideout authentic |blankness sonic disfigured |hover knowing aged |42093605|3182652.40668|original -3|hibernation|country detox coyotes|ball pulse candle|direct|1413570.3|8.3095808155|original -4|aquarium|encounter existent amuse |fuse light headlock|bumper admission honorary|5475414.65|25937.675256300369991|original -5|123456789012|1234567890123456789012345|1234567890123456789012345|1234567890|12345678.1234|1234567890.0987654321|original http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/same_type1_b.txt ---------------------------------------------------------------------- diff --git a/data/files/same_type1_b.txt b/data/files/same_type1_b.txt deleted file mode 100644 index 7565ec4..0000000 --- a/data/files/same_type1_b.txt +++ /dev/null @@ -1,4 +0,0 @@ -6|hollow |innocent crabs blushing|ambition ebony ambition|liquor ageless parasite fictional|279629518169.52368|3841833197.31413709|new -7|wig feeling|social fork drum|search bump|conclusion perception|8.30958|8052953537267.278|new -8|bubble first|drain loyal station|racket|antique business|0.6933|22.8326132787413|new -9|12345678|12345678901234567890123456789012|123456789012345|123456789012345678|1234567890.12|1234567890.543210987654321|new http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/same_type1_c.txt ---------------------------------------------------------------------- diff --git a/data/files/same_type1_c.txt b/data/files/same_type1_c.txt deleted file mode 100644 index aac79e7..0000000 --- a/data/files/same_type1_c.txt +++ /dev/null @@ -1,4 +0,0 @@ -10|dreamland cough|raster devastation |association boarder fallout|lubricant century|5830.9867195262469749|06439940618207.90208806095117224262|new -11|tiger |however center|propeller agonizing|shocking misshapen detachable painless|6946533.80265655352968056575|31608910.03|new -12| bulging |extensive ambivalent|rastled|billion zeroes|943084.3|3090297719.71712034932827109|new -13|12345678|12345678901234567890123456789012|123456789012345|123456789012345678|1234567890.12|1234567890.543210987654321|new http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/schema_evolution/complex_struct1_a.txt ---------------------------------------------------------------------- diff --git a/data/files/schema_evolution/complex_struct1_a.txt b/data/files/schema_evolution/complex_struct1_a.txt new file mode 100644 index 0000000..b36846e --- /dev/null +++ b/data/files/schema_evolution/complex_struct1_a.txt @@ -0,0 +1,4 @@ +1|true,200,72909,3244222,-99999999999,-29.0764,470614135,470614135,dynamic reptile ,dynamic reptile ,0004-09-22 18:26:29.519542222,2007-02-09,binary|original +2|0,100,483777,14,-23866739993,-3651.672121,46114.284799488,46114.284799488, baffling , baffling ,2007-02-09 05:17:29.368756876,0004-09-22,binary|original +3|false,72,3244222,-93222,30.774,-66475.561431,-66475.561431,0.561431,1,1,6229-06-28 02:54:28.970117179,5966-07-09,binary|original +4|1,-90,754072151,3289094,46114.284799488,9250340.75,9250340.75,9250340.75,junkyard,junkyard,2002-05-10 05:29:48.990818073,1815-05-06,binary|original http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/schema_evolution/complex_struct1_b.txt ---------------------------------------------------------------------- diff --git a/data/files/schema_evolution/complex_struct1_b.txt b/data/files/schema_evolution/complex_struct1_b.txt new file mode 100644 index 0000000..1887c68 --- /dev/null +++ b/data/files/schema_evolution/complex_struct1_b.txt @@ -0,0 +1 @@ +5|true,400,44388,-100,953967041.,62.079153,718.78,1,verdict,verdict,timestamp,date,binary|new http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/schema_evolution/complex_struct1_c.txt ---------------------------------------------------------------------- diff --git a/data/files/schema_evolution/complex_struct1_c.txt b/data/files/schema_evolution/complex_struct1_c.txt new file mode 100644 index 0000000..5d482c8 --- /dev/null +++ b/data/files/schema_evolution/complex_struct1_c.txt @@ -0,0 +1 @@ +6|false,-67,833,63993,1255178165.77663,905070.974,-4314.7918,-1240033819,trial,trial,2016-03-0703:02:22.0,2016-03-07,binary|new http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/schema_evolution/complex_struct2_a.txt ---------------------------------------------------------------------- diff --git a/data/files/schema_evolution/complex_struct2_a.txt b/data/files/schema_evolution/complex_struct2_a.txt new file mode 100644 index 0000000..7fdfef1 --- /dev/null +++ b/data/files/schema_evolution/complex_struct2_a.txt @@ -0,0 +1,2 @@ +3|new|true,200,72909,3244222,-99999999999,-29.0764,470614135,470614135,dynamic reptile ,dynamic reptile ,0004-09-22 18:26:29.519542222,2007-02-09,binary +4|new|0,100,483777,14,-23866739993,-3651.672121,46114.284799488,46114.284799488, baffling , baffling ,2007-02-09 05:17:29.368756876,0004-09-22,binary http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/schema_evolution/complex_struct2_b.txt ---------------------------------------------------------------------- diff --git a/data/files/schema_evolution/complex_struct2_b.txt b/data/files/schema_evolution/complex_struct2_b.txt new file mode 100644 index 0000000..a814af3 --- /dev/null +++ b/data/files/schema_evolution/complex_struct2_b.txt @@ -0,0 +1,2 @@ +5|new|false,72,3244222,-93222,30.774,-66475.561431,-66475.561431,0.561431,1,1,6229-06-28 02:54:28.970117179,5966-07-09,binary +6|new|1,-90,754072151,3289094,46114.284799488,9250340.75,9250340.75,9250340.75,junkyard,junkyard,2002-05-10 05:29:48.990818073,1815-05-06,binary http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/schema_evolution/complex_struct2_c.txt ---------------------------------------------------------------------- diff --git a/data/files/schema_evolution/complex_struct2_c.txt b/data/files/schema_evolution/complex_struct2_c.txt new file mode 100644 index 0000000..2c9c1bb --- /dev/null +++ b/data/files/schema_evolution/complex_struct2_c.txt @@ -0,0 +1 @@ +7|new|true,400,44388,-100,953967041.,62.079153,718.78,1,verdict,verdict,timestamp,date,binary \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/schema_evolution/complex_struct2_d.txt ---------------------------------------------------------------------- diff --git a/data/files/schema_evolution/complex_struct2_d.txt b/data/files/schema_evolution/complex_struct2_d.txt new file mode 100644 index 0000000..3c7801e --- /dev/null +++ b/data/files/schema_evolution/complex_struct2_d.txt @@ -0,0 +1 @@ +8|new|false,-67,833,63993,1255178165.77663,905070.974,-4314.7918,-1240033819,trial,trial,2016-03-0703:02:22.0,2016-03-07,binary \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/schema_evolution/complex_struct3_a.txt ---------------------------------------------------------------------- diff --git a/data/files/schema_evolution/complex_struct3_a.txt b/data/files/schema_evolution/complex_struct3_a.txt new file mode 100644 index 0000000..19dbd7f --- /dev/null +++ b/data/files/schema_evolution/complex_struct3_a.txt @@ -0,0 +1,2 @@ +1|true,200,72909,3244222,-99999999999|original +2|0,100,483777,14,-23866739993|original \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/schema_evolution/complex_struct3_b.txt ---------------------------------------------------------------------- diff --git a/data/files/schema_evolution/complex_struct3_b.txt b/data/files/schema_evolution/complex_struct3_b.txt new file mode 100644 index 0000000..030e0c0 --- /dev/null +++ b/data/files/schema_evolution/complex_struct3_b.txt @@ -0,0 +1 @@ +3|true,400,44388,-100,953967041.,62.079153,718.78,1,verdict,verdict,timestamp,date,binary|new \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/schema_evolution/complex_struct3_c.txt ---------------------------------------------------------------------- diff --git a/data/files/schema_evolution/complex_struct3_c.txt b/data/files/schema_evolution/complex_struct3_c.txt new file mode 100644 index 0000000..236694b --- /dev/null +++ b/data/files/schema_evolution/complex_struct3_c.txt @@ -0,0 +1 @@ +4|false,-67,833,63993,1255178165.77663,905070.974,-4314.7918,-1240033819,trial,trial,2016-03-0703:02:22.0,2016-03-07,binary|new \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/schema_evolution/complex_struct4_a.txt ---------------------------------------------------------------------- diff --git a/data/files/schema_evolution/complex_struct4_a.txt b/data/files/schema_evolution/complex_struct4_a.txt new file mode 100644 index 0000000..ecf832f --- /dev/null +++ b/data/files/schema_evolution/complex_struct4_a.txt @@ -0,0 +1,2 @@ +1|original|true,200,72909,3244222,-99999999999 +2|original|0,100,483777,14,-23866739993 \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/schema_evolution/complex_struct4_b.txt ---------------------------------------------------------------------- diff --git a/data/files/schema_evolution/complex_struct4_b.txt b/data/files/schema_evolution/complex_struct4_b.txt new file mode 100644 index 0000000..701253c --- /dev/null +++ b/data/files/schema_evolution/complex_struct4_b.txt @@ -0,0 +1 @@ +3|new|true,400,44388,-100,953967041.,62.079153,718.78,1,verdict,verdict,timestamp,date,binary \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/schema_evolution/complex_struct4_c.txt ---------------------------------------------------------------------- diff --git a/data/files/schema_evolution/complex_struct4_c.txt b/data/files/schema_evolution/complex_struct4_c.txt new file mode 100644 index 0000000..c56e002 --- /dev/null +++ b/data/files/schema_evolution/complex_struct4_c.txt @@ -0,0 +1 @@ +4|new|false,-67,833,63993,1255178165.77663,905070.974,-4314.7918,-1240033819,trial,trial,2016-03-0703:02:22.0,2016-03-07,binary \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/schema_evolution/same_type1_a.txt ---------------------------------------------------------------------- diff --git a/data/files/schema_evolution/same_type1_a.txt b/data/files/schema_evolution/same_type1_a.txt new file mode 100644 index 0000000..85758d7 --- /dev/null +++ b/data/files/schema_evolution/same_type1_a.txt @@ -0,0 +1,5 @@ +1|excess|corporation believable|gateway |thumb repeat continuous|76855494.39|116074482533.2156|original +2|mutation|hideout authentic |blankness sonic disfigured |hover knowing aged |42093605|3182652.40668|original +3|hibernation|country detox coyotes|ball pulse candle|direct|1413570.3|8.3095808155|original +4|aquarium|encounter existent amuse |fuse light headlock|bumper admission honorary|5475414.65|25937.675256300369991|original +5|123456789012|1234567890123456789012345|1234567890123456789012345|1234567890|12345678.1234|1234567890.0987654321|original http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/schema_evolution/same_type1_b.txt ---------------------------------------------------------------------- diff --git a/data/files/schema_evolution/same_type1_b.txt b/data/files/schema_evolution/same_type1_b.txt new file mode 100644 index 0000000..7565ec4 --- /dev/null +++ b/data/files/schema_evolution/same_type1_b.txt @@ -0,0 +1,4 @@ +6|hollow |innocent crabs blushing|ambition ebony ambition|liquor ageless parasite fictional|279629518169.52368|3841833197.31413709|new +7|wig feeling|social fork drum|search bump|conclusion perception|8.30958|8052953537267.278|new +8|bubble first|drain loyal station|racket|antique business|0.6933|22.8326132787413|new +9|12345678|12345678901234567890123456789012|123456789012345|123456789012345678|1234567890.12|1234567890.543210987654321|new http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/schema_evolution/same_type1_c.txt ---------------------------------------------------------------------- diff --git a/data/files/schema_evolution/same_type1_c.txt b/data/files/schema_evolution/same_type1_c.txt new file mode 100644 index 0000000..aac79e7 --- /dev/null +++ b/data/files/schema_evolution/same_type1_c.txt @@ -0,0 +1,4 @@ +10|dreamland cough|raster devastation |association boarder fallout|lubricant century|5830.9867195262469749|06439940618207.90208806095117224262|new +11|tiger |however center|propeller agonizing|shocking misshapen detachable painless|6946533.80265655352968056575|31608910.03|new +12| bulging |extensive ambivalent|rastled|billion zeroes|943084.3|3090297719.71712034932827109|new +13|12345678|12345678901234567890123456789012|123456789012345|123456789012345678|1234567890.12|1234567890.543210987654321|new http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/schema_evolution/schema_evolution_data.txt ---------------------------------------------------------------------- diff --git a/data/files/schema_evolution/schema_evolution_data.txt b/data/files/schema_evolution/schema_evolution_data.txt new file mode 100644 index 0000000..29c3527 --- /dev/null +++ b/data/files/schema_evolution/schema_evolution_data.txt @@ -0,0 +1,5 @@ +101|true|-128|â32768|-2147483648|â9223372036854775808|99999999999999999999.999999999999999999|340282347000000000000000000000000000000000|1.79769313486231570E+308|escapist|freckled|1950-12-18|6229-06-28 02:54:28.970117179|true|-128|â32768|-2147483648|â9223372036854775808|99999999999999999999.999999999999999999|340282347000000000000000000000000000000000|1.79769313486231570E+308|1950-12-18|6229-06-28 02:54:28.970117179|filler +102|false|127|32767|2147483647|9223372036854775807|-99999999999999999999.999999999999999999|-340282347000000000000000000000000000000000|-1.79769313486231570E+308|heartbeat|ox|2049-12-18|5966-07-09 03:30:50.597|false|127|32767|2147483647|9223372036854775807|-99999999999999999999.999999999999999999|-340282347000000000000000000000000000000000|-1.79769313486231570E+308|2049-12-18|5966-07-09 03:30:50.597||filler +103||||||||||||||||||||||||||filler +104|true|23|834|203332|888888857923222|66475.561431|-100.3597812|30.774|blank pads |I cooked|2021-09-24|1978-08-02 06:34:14|true|23|834|203332|888888857923222|66475.561431|-100.3597812|30.774|2021-09-24|1978-08-02 06:34:14|filler +105|false|-99|-28300|-999992|-222282153733|9250340.75|â32768|46114.28|100|200|2024-11-11|1991-01-06 16:20:39.72036854|false|-99|-28300|-999992|-222282153733|9250340.75|â32768|46114.28|2024-11-11|1991-01-06 16:20:39.72036854|filler \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/schema_evolution/schema_evolution_data_2.txt ---------------------------------------------------------------------- diff --git a/data/files/schema_evolution/schema_evolution_data_2.txt b/data/files/schema_evolution/schema_evolution_data_2.txt new file mode 100644 index 0000000..fc12b88 --- /dev/null +++ b/data/files/schema_evolution/schema_evolution_data_2.txt @@ -0,0 +1,10 @@ +106|false|92|0|0|0|46114.284799488|0|3289094.02|hangar paralysed companion|Frank has just surfed. |2016-08-30|2029-06-05 14:28:29|false|92|0|0|0|46114.284799488|0|3289094.02|2016-08-30|2029-06-05 14:28:29|filler +107|false|0|345|127|127|-0.00000009|127|128|bottom|I called him "the pilot"|2016-12-29|2012-Jun-22 21:45:03.211|false|0|345|127|127|-0.00000009|127|128|2016-12-29|2012-Jun-22 21:45:03.211|filler +108|false|-76|-9002|â32768|-754072151|0.00034|0.00034|32767|baffling|Those bus driver seat.|1967-12-18|2034-Apr-15 19:02:35.00000009|false|-76|-9002|â32768|-754072151|0.00034|0.00034|7|1967-12-18|2034-Apr-15 19:02:35.00000009|filler +109|false|127|â32768|17|3289094|â9223372036854775808|â9223372036854775808|â9223372036854775808|feather weight|He played tennis yesterday|2178-01-17|2014-Mar-09 10:00:13.75807|false|127|â32768|17|3289094|â9223372036854775808|â9223372036854775808|â9223372036854775808|2178-01-17|2014-Mar-09 10:00:13.75807|filler +110|true|-128|32767|400|72909|9223372036854775807|9223372036854775807|9223372036854775807|window | edit |1889-12-26|2212-07-18|2028-Jan-08 03:01:56.999999999|true|-128|32767|400|72909|9223372036854775807|9223372036854775807|2212-07-18|2028-Jan-08 03:01:56.999999999|filler +111|true|-1|127|-57923222|-1|-46114.284799488|-0.00000009|-0.00000009|astonishing|She doesn't have a cup behind the post office.|1964-01-24|2036-Dec-12 06:10:32.82153733|true|-1|127|-57923222|-1|-46114.284799488|-0.00000009|-0.00000009|1964-01-24|2036-Dec-12 06:10:32.82153733|filler +112|true|0|7777|82153733|-23866739993|3289094.02|-23866739993|99|Antarctic peninsula|Those fisher men aren't laughing|1931-07-27|2020-Jun-05 03:12:30.4775808|true|-1|7777|82153733|-23866739993|3289094.02|-23866739993|99|1931-07-27|2020-Jun-05 03:12:30.4775808|filler +113|true|-128|32767|40000|2000|-128|66475.561431|-754072151|Delaware|The musician doesn't very often order Roy to talk.|1981-10-30|2024-Aug-31 22:06:39.0|true|-128|32767|40000|2000|-128|66475.561431|-754072151|1981-10-30|2024-Aug-31 22:06:39.0|filler +114|true|-127|â32768|-128|-128|127|46114.284799488|â32768|smaller than Scotland|Are the carpenters fighting by the sea?|2020-09-20|2019-Aug-01 01:03:32.774|true|-127|â32768|-128|-128|127|46114.284799488|â32768|2020-09-20|2019-Aug-01 01:03:32.774|filler +115|false|127|-128|32768|-66475|32767|-2147483648|32767|major glaciation|Joe plays the guitar|2025-04-26|2025-Aug-03 03:56:12.54072151|false|127|-128|32768|-66475|32767|-2147483648|32767|2025-04-26|2025-Aug-03 03:56:12.54072151|filler \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/struct1_a.txt ---------------------------------------------------------------------- diff --git a/data/files/struct1_a.txt b/data/files/struct1_a.txt deleted file mode 100644 index b36846e..0000000 --- a/data/files/struct1_a.txt +++ /dev/null @@ -1,4 +0,0 @@ -1|true,200,72909,3244222,-99999999999,-29.0764,470614135,470614135,dynamic reptile ,dynamic reptile ,0004-09-22 18:26:29.519542222,2007-02-09,binary|original -2|0,100,483777,14,-23866739993,-3651.672121,46114.284799488,46114.284799488, baffling , baffling ,2007-02-09 05:17:29.368756876,0004-09-22,binary|original -3|false,72,3244222,-93222,30.774,-66475.561431,-66475.561431,0.561431,1,1,6229-06-28 02:54:28.970117179,5966-07-09,binary|original -4|1,-90,754072151,3289094,46114.284799488,9250340.75,9250340.75,9250340.75,junkyard,junkyard,2002-05-10 05:29:48.990818073,1815-05-06,binary|original http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/struct1_b.txt ---------------------------------------------------------------------- diff --git a/data/files/struct1_b.txt b/data/files/struct1_b.txt deleted file mode 100644 index 1887c68..0000000 --- a/data/files/struct1_b.txt +++ /dev/null @@ -1 +0,0 @@ -5|true,400,44388,-100,953967041.,62.079153,718.78,1,verdict,verdict,timestamp,date,binary|new http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/struct1_c.txt ---------------------------------------------------------------------- diff --git a/data/files/struct1_c.txt b/data/files/struct1_c.txt deleted file mode 100644 index 5d482c8..0000000 --- a/data/files/struct1_c.txt +++ /dev/null @@ -1 +0,0 @@ -6|false,-67,833,63993,1255178165.77663,905070.974,-4314.7918,-1240033819,trial,trial,2016-03-0703:02:22.0,2016-03-07,binary|new http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/struct2_a.txt ---------------------------------------------------------------------- diff --git a/data/files/struct2_a.txt b/data/files/struct2_a.txt deleted file mode 100644 index 7fdfef1..0000000 --- a/data/files/struct2_a.txt +++ /dev/null @@ -1,2 +0,0 @@ -3|new|true,200,72909,3244222,-99999999999,-29.0764,470614135,470614135,dynamic reptile ,dynamic reptile ,0004-09-22 18:26:29.519542222,2007-02-09,binary -4|new|0,100,483777,14,-23866739993,-3651.672121,46114.284799488,46114.284799488, baffling , baffling ,2007-02-09 05:17:29.368756876,0004-09-22,binary http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/struct2_b.txt ---------------------------------------------------------------------- diff --git a/data/files/struct2_b.txt b/data/files/struct2_b.txt deleted file mode 100644 index a814af3..0000000 --- a/data/files/struct2_b.txt +++ /dev/null @@ -1,2 +0,0 @@ -5|new|false,72,3244222,-93222,30.774,-66475.561431,-66475.561431,0.561431,1,1,6229-06-28 02:54:28.970117179,5966-07-09,binary -6|new|1,-90,754072151,3289094,46114.284799488,9250340.75,9250340.75,9250340.75,junkyard,junkyard,2002-05-10 05:29:48.990818073,1815-05-06,binary http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/struct2_c.txt ---------------------------------------------------------------------- diff --git a/data/files/struct2_c.txt b/data/files/struct2_c.txt deleted file mode 100644 index 2c9c1bb..0000000 --- a/data/files/struct2_c.txt +++ /dev/null @@ -1 +0,0 @@ -7|new|true,400,44388,-100,953967041.,62.079153,718.78,1,verdict,verdict,timestamp,date,binary \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/struct2_d.txt ---------------------------------------------------------------------- diff --git a/data/files/struct2_d.txt b/data/files/struct2_d.txt deleted file mode 100644 index 3c7801e..0000000 --- a/data/files/struct2_d.txt +++ /dev/null @@ -1 +0,0 @@ -8|new|false,-67,833,63993,1255178165.77663,905070.974,-4314.7918,-1240033819,trial,trial,2016-03-0703:02:22.0,2016-03-07,binary \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/struct3_a.txt ---------------------------------------------------------------------- diff --git a/data/files/struct3_a.txt b/data/files/struct3_a.txt deleted file mode 100644 index 19dbd7f..0000000 --- a/data/files/struct3_a.txt +++ /dev/null @@ -1,2 +0,0 @@ -1|true,200,72909,3244222,-99999999999|original -2|0,100,483777,14,-23866739993|original \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/struct3_b.txt ---------------------------------------------------------------------- diff --git a/data/files/struct3_b.txt b/data/files/struct3_b.txt deleted file mode 100644 index 030e0c0..0000000 --- a/data/files/struct3_b.txt +++ /dev/null @@ -1 +0,0 @@ -3|true,400,44388,-100,953967041.,62.079153,718.78,1,verdict,verdict,timestamp,date,binary|new \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/struct3_c.txt ---------------------------------------------------------------------- diff --git a/data/files/struct3_c.txt b/data/files/struct3_c.txt deleted file mode 100644 index 236694b..0000000 --- a/data/files/struct3_c.txt +++ /dev/null @@ -1 +0,0 @@ -4|false,-67,833,63993,1255178165.77663,905070.974,-4314.7918,-1240033819,trial,trial,2016-03-0703:02:22.0,2016-03-07,binary|new \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/struct4_a.txt ---------------------------------------------------------------------- diff --git a/data/files/struct4_a.txt b/data/files/struct4_a.txt deleted file mode 100644 index ecf832f..0000000 --- a/data/files/struct4_a.txt +++ /dev/null @@ -1,2 +0,0 @@ -1|original|true,200,72909,3244222,-99999999999 -2|original|0,100,483777,14,-23866739993 \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/struct4_b.txt ---------------------------------------------------------------------- diff --git a/data/files/struct4_b.txt b/data/files/struct4_b.txt deleted file mode 100644 index 701253c..0000000 --- a/data/files/struct4_b.txt +++ /dev/null @@ -1 +0,0 @@ -3|new|true,400,44388,-100,953967041.,62.079153,718.78,1,verdict,verdict,timestamp,date,binary \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/data/files/struct4_c.txt ---------------------------------------------------------------------- diff --git a/data/files/struct4_c.txt b/data/files/struct4_c.txt deleted file mode 100644 index c56e002..0000000 --- a/data/files/struct4_c.txt +++ /dev/null @@ -1 +0,0 @@ -4|new|false,-67,833,63993,1255178165.77663,905070.974,-4314.7918,-1240033819,trial,trial,2016-03-0703:02:22.0,2016-03-07,binary \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/itests/src/test/resources/testconfiguration.properties ---------------------------------------------------------------------- diff --git a/itests/src/test/resources/testconfiguration.properties b/itests/src/test/resources/testconfiguration.properties index dfde5e2..8f996d1 100644 --- a/itests/src/test/resources/testconfiguration.properties +++ b/itests/src/test/resources/testconfiguration.properties @@ -465,33 +465,35 @@ minillap.query.files=acid_bucket_pruning.q,\ orc_llap_nonvector.q,\ orc_merge_diff_fs.q,\ orc_ppd_basic.q,\ - schema_evol_orc_acid_mapwork_part.q,\ - schema_evol_orc_acid_mapwork_table.q,\ - schema_evol_orc_acidvec_mapwork_part.q,\ - schema_evol_orc_acidvec_mapwork_table.q,\ - schema_evol_orc_nonvec_fetchwork_part.q,\ - schema_evol_orc_nonvec_fetchwork_table.q,\ - schema_evol_orc_nonvec_mapwork_part.q,\ - schema_evol_orc_nonvec_mapwork_part_all_complex.q,\ - schema_evol_orc_nonvec_mapwork_part_all_primitive.q,\ - schema_evol_orc_nonvec_mapwork_table.q,\ - schema_evol_orc_vec_mapwork_part.q,\ - schema_evol_orc_vec_mapwork_part_all_complex.q,\ - schema_evol_orc_vec_mapwork_part_all_primitive.q,\ - schema_evol_orc_vec_mapwork_table.q,\ + schema_evol_orc_acid_part.q,\ + schema_evol_orc_acid_part_update.q,\ + schema_evol_orc_acid_table.q,\ + schema_evol_orc_acid_table_update.q,\ + schema_evol_orc_acidvec_part.q,\ + schema_evol_orc_acidvec_part_update.q,\ + schema_evol_orc_acidvec_table.q,\ + schema_evol_orc_acidvec_table_update.q,\ + schema_evol_orc_nonvec_part.q,\ + schema_evol_orc_nonvec_part_all_complex.q,\ + schema_evol_orc_nonvec_part_all_primitive.q,\ + schema_evol_orc_nonvec_table.q,\ + schema_evol_orc_vec_part.q,\ + schema_evol_orc_vec_part_all_complex.q,\ + schema_evol_orc_vec_part_all_primitive.q,\ + schema_evol_orc_vec_table.q,\ schema_evol_stats.q,\ - schema_evol_text_nonvec_mapwork_part.q,\ - schema_evol_text_nonvec_mapwork_part_all_complex.q,\ - schema_evol_text_nonvec_mapwork_part_all_primitive.q,\ - schema_evol_text_nonvec_mapwork_table.q,\ - schema_evol_text_vec_mapwork_part.q,\ - schema_evol_text_vec_mapwork_part_all_complex.q,\ - schema_evol_text_vec_mapwork_part_all_primitive.q,\ - schema_evol_text_vec_mapwork_table.q,\ - schema_evol_text_vecrow_mapwork_part.q,\ - schema_evol_text_vecrow_mapwork_part_all_complex.q,\ - schema_evol_text_vecrow_mapwork_part_all_primitive.q,\ - schema_evol_text_vecrow_mapwork_table.q,\ + schema_evol_text_nonvec_part.q,\ + schema_evol_text_nonvec_part_all_complex.q,\ + schema_evol_text_nonvec_part_all_primitive.q,\ + schema_evol_text_nonvec_table.q,\ + schema_evol_text_vec_part.q,\ + schema_evol_text_vec_part_all_complex.q,\ + schema_evol_text_vec_part_all_primitive.q,\ + schema_evol_text_vec_table.q,\ + schema_evol_text_vecrow_part.q,\ + schema_evol_text_vecrow_part_all_complex.q,\ + schema_evol_text_vecrow_part_all_primitive.q,\ + schema_evol_text_vecrow_table.q,\ smb_cache.q,\ tez_aggr_part_stats.q,\ tez_bmj_schema_evolution.q,\ http://git-wip-us.apache.org/repos/asf/hive/blob/cb534ab0/ql/src/test/queries/clientpositive/schema_evol_orc_acid_mapwork_part.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/schema_evol_orc_acid_mapwork_part.q b/ql/src/test/queries/clientpositive/schema_evol_orc_acid_mapwork_part.q deleted file mode 100644 index d621352..0000000 --- a/ql/src/test/queries/clientpositive/schema_evol_orc_acid_mapwork_part.q +++ /dev/null @@ -1,860 +0,0 @@ -set hive.mapred.mode=nonstrict; -set hive.cli.print.header=true; -set hive.support.concurrency=true; -set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; -set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -SET hive.exec.schema.evolution=false; -SET hive.vectorized.use.vectorized.input.format=true; -SET hive.vectorized.use.vector.serde.deserialize=false; -SET hive.vectorized.use.row.serde.deserialize=false; -set hive.fetch.task.conversion=none; -SET hive.vectorized.execution.enabled=false; -set hive.exec.dynamic.partition.mode=nonstrict; -set hive.metastore.disallow.incompatible.col.type.changes=true; -set hive.default.fileformat=orc; -set hive.llap.io.enabled=false; - --- SORT_QUERY_RESULTS --- --- FILE VARIATION: ORC, ACID Non-Vectorized, MapWork, Partitioned --- *IMPORTANT NOTE* We set hive.exec.schema.evolution=false above since schema evolution is always used for ACID. --- Also, we don't do EXPLAINs on ACID files because the transaction id causes Q file statistics differences... --- ------------------------------------------------------------------------------------------- --- 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) clustered by (a) into 2 buckets STORED AS ORC TBLPROPERTIES ('transactional'='true'); - -insert into table part_add_int_permute_select partition(part=1) - values (1, 1, 'original'), - (2, 2, 'original'), - (3, 3, 'original'), - (4, 4, 'original'); - --- Table-Non-Cascade ADD COLUMNS ... -alter table part_add_int_permute_select add columns(c int); - -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); - -insert into table part_add_int_permute_select partition(part=1) - values (9, 5, 'new', 100), - (10, 6, 'new', 200); - --- SELECT permutation columns to make sure NULL defaulting works right -select insert_num,part,a,b from part_add_int_permute_select; -select insert_num,part,a,b,c from part_add_int_permute_select; -select insert_num,part,c from part_add_int_permute_select; - -drop table part_add_int_permute_select; - - --- 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) clustered by (a) into 2 buckets STORED AS ORC TBLPROPERTIES ('transactional'='true'); - -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'); - --- Table-Non-Cascade ADD COLUMNS ... -alter table part_add_int_string_permute_select add columns(c int, d string); - -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'); - -insert into table part_add_int_string_permute_select partition(part=1) - values (9, 5, 'new', 100, 'hundred'), - (10, 6, 'new', 200, 'two hundred'); - --- SELECT permutation columns to make sure NULL defaulting works right -select insert_num,part,a,b from part_add_int_string_permute_select; -select insert_num,part,a,b,c from part_add_int_string_permute_select; -select insert_num,part,a,b,c,d from part_add_int_string_permute_select; -select insert_num,part,a,c,d from part_add_int_string_permute_select; -select insert_num,part,a,d from part_add_int_string_permute_select; -select insert_num,part,c from part_add_int_string_permute_select; -select insert_num,part,d from part_add_int_string_permute_select; - -drop table part_add_int_string_permute_select; - - - ------------------------------------------------------------------------------------------- --- 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) clustered by (c1) into 2 buckets STORED AS ORC TBLPROPERTIES ('transactional'='true'); - -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'); - --- 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); - -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'); - -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'); - -select insert_num,part,c1,c2,c3,b from part_change_string_group_double; - -drop table part_change_string_group_double; - - - - ------------------------------------------------------------------------------------------- --- 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) clustered by (c1) into 2 buckets STORED AS ORC TBLPROPERTIES ('transactional'='true'); - -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'); - --- 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); - -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'); -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'); - -select insert_num,part,c1,c2,c3,c4,c5,b from part_change_date_group_string_group_timestamp; - -drop table part_change_date_group_string_group_timestamp; - - - --- --- 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) clustered by (c1) into 2 buckets STORED AS ORC TBLPROPERTIES ('transactional'='true'); - -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'); - --- 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); - -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'); - -select insert_num,part,c1,c2,c3,c4,c5,b from part_change_date_group_string_group_date; - -drop table part_change_date_group_string_group_date; - - - ------------------------------------------------------------------------------------------- --- 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) clustered by (c1) into 2 buckets STORED AS ORC TBLPROPERTIES ('transactional'='true'); - -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'); - -select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_string; - --- 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) ; - -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); - -select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_string; - -drop table part_change_numeric_group_string_group_multi_ints_string; - - - --- --- 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) clustered by (c1) into 2 buckets STORED AS ORC TBLPROPERTIES ('transactional'='true'); - -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'); - -select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_char; - --- 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) ; - -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); - -select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_char; - -drop table part_change_numeric_group_string_group_multi_ints_char; - - --- --- 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) clustered by (c1) into 2 buckets STORED AS ORC TBLPROPERTIES ('transactional'='true'); - -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'); - -select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_char_trunc; - --- 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) ; - -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); - -select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_char_trunc; - -drop table part_change_numeric_group_string_group_multi_ints_char_trunc; - - - --- --- 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) clustered by (c1) into 2 buckets STORED AS ORC TBLPROPERTIES ('transactional'='true'); - -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'); - -select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_varchar; - --- 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) ; - -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); - -select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_varchar; - -drop table part_change_numeric_group_string_group_multi_ints_varchar; - - --- --- 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) clustered by (c1) into 2 buckets STORED AS ORC TBLPROPERTIES ('transactional'='true'); - -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'); - -select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_varchar_trunc; - --- 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) ; - -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); - -select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_varchar_trunc; - -drop table part_change_numeric_group_string_group_multi_ints_varchar_trunc; - - --- --- 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) clustered by (c1) into 2 buckets STORED AS ORC TBLPROPERTIES ('transactional'='true'); - -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'); - -select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_string; - --- 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) ; - -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); - -select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_string; - -drop table part_change_numeric_group_string_group_floating_string; - - --- --- 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) clustered by (c1) into 2 buckets STORED AS ORC TBLPROPERTIES ('transactional'='true'); - -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'); - -select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_char; - --- 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) ; - -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); - -select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_char; - -drop table part_change_numeric_group_string_group_floating_char; - - --- --- 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) clustered by (c1) into 2 buckets STORED AS ORC TBLPROPERTIES ('transactional'='true'); - -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'); - -select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_char_trunc; - --- 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) ; - -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); - -select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_char_trunc; - -drop table part_change_numeric_group_string_group_floating_char_trunc; - - --- --- 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) clustered by (c1) into 2 buckets STORED AS ORC TBLPROPERTIES ('transactional'='true'); - -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'); - -select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_varchar; - --- 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) ; - -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); - -select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_varchar; - -drop table part_change_numeric_group_string_group_floating_varchar; - - --- --- 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) clustered by (c1) into 2 buckets STORED AS ORC TBLPROPERTIES ('transactional'='true'); - -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'); - -select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_varchar_trunc; - --- 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) ; - -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); - -select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_varchar_trunc; - -drop table part_change_numeric_group_string_group_floating_varchar_trunc; - - ------------------------------------------------------------------------------------------- --- 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) clustered by (c1) into 2 buckets STORED AS ORC TBLPROPERTIES ('transactional'='true'); - -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'); - -select insert_num,part,c1,c2,c3,c4,b from part_change_string_group_string_group_string; - --- 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) ; - -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); - -select insert_num,part,c1,c2,c3,c4,b from part_change_string_group_string_group_string; - -drop table part_change_string_group_string_group_string; - - - --- --- 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) clustered by (c1) into 2 buckets STORED AS ORC TBLPROPERTIES ('transactional'='true'); - -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'); - -select insert_num,part,c1,c2,c3,b from part_change_string_group_string_group_char; - --- 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) ; - -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); - -select insert_num,part,c1,c2,c3,b from part_change_string_group_string_group_char; - -drop table part_change_string_group_string_group_char; - - - --- --- 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) clustered by (c1) into 2 buckets STORED AS ORC TBLPROPERTIES ('transactional'='true'); - -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'); - -select insert_num,part,c1,c2,c3,b from part_change_string_group_string_group_varchar; - --- 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) ; - -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); - -select insert_num,part,c1,c2,c3,b from part_change_string_group_string_group_varchar; - -drop table part_change_string_group_string_group_varchar; - - - ------------------------------------------------------------------------------------------- --- 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) clustered by (c1) into 2 buckets STORED AS ORC TBLPROPERTIES ('transactional'='true'); - -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'); - -select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_lower_to_higher_numeric_group_tinyint; - --- 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) ; - -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); - -select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_lower_to_higher_numeric_group_tinyint; - -drop table part_change_lower_to_higher_numeric_group_tinyint; - - --- --- 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) clustered by (c1) into 2 buckets STORED AS ORC TBLPROPERTIES ('transactional'='true'); - -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'); - -select insert_num,part,c1,c2,c3,c4,c5,b from part_change_lower_to_higher_numeric_group_smallint; - --- 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) ; - -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); - -select insert_num,part,c1,c2,c3,c4,c5,b from part_change_lower_to_higher_numeric_group_smallint; - -drop table part_change_lower_to_higher_numeric_group_smallint; - - - --- --- 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) clustered by (c1) into 2 buckets STORED AS ORC TBLPROPERTIES ('transactional'='true'); - -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'); - -select insert_num,part,c1,c2,c3,c4,b from part_change_lower_to_higher_numeric_group_int; - --- 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); - -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); - -select insert_num,part,c1,c2,c3,c4,b from part_change_lower_to_higher_numeric_group_int; - -drop table part_change_lower_to_higher_numeric_group_int; - - --- --- 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) clustered by (c1) into 2 buckets STORED AS ORC TBLPROPERTIES ('transactional'='true'); - -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'); - -select insert_num,part,c1,c2,c3,b from part_change_lower_to_higher_numeric_group_bigint; - --- 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) ; - -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); - -select insert_num,part,c1,c2,c3,b from part_change_lower_to_higher_numeric_group_bigint; - -drop table part_change_lower_to_higher_numeric_group_bigint; - - --- --- 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) clustered by (c1) into 2 buckets STORED AS ORC TBLPROPERTIES ('transactional'='true'); - -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'); - -select insert_num,part,c1,b from part_change_lower_to_higher_numeric_group_decimal; - --- 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) ; - -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); - -select insert_num,part,c1,b from part_change_lower_to_higher_numeric_group_decimal; - -drop table part_change_lower_to_higher_numeric_group_decimal; - - --- --- 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) clustered by (c1) into 2 buckets STORED AS ORC TBLPROPERTIES ('transactional'='true'); - -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'); - -select insert_num,part,c1,b from part_change_lower_to_higher_numeric_group_float; - --- Table-Non-Cascade CHANGE COLUMNS ... -alter table part_change_lower_to_higher_numeric_group_float replace columns (insert_num int, c1 DOUBLE, b STRING) ; - -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); - -select insert_num,part,c1,b from part_change_lower_to_higher_numeric_group_float; - -drop table part_change_lower_to_higher_numeric_group_float; - - --- --- --- SECTION VARIATION: ALTER TABLE ADD COLUMNS ... UPDATE New Columns ---- -CREATE TABLE partitioned_update_1(insert_num int, a INT, b STRING) PARTITIONED BY(part INT) clustered by (a) into 2 buckets STORED AS ORC TBLPROPERTIES ('transactional'='true'); - -insert into table partitioned_update_1 partition(part=1) - values (1, 1, 'original'), - (2, 2, 'original'), - (3, 3, 'original'), - (4, 4, 'original'); - --- Table-Non-Cascade ADD COLUMNS ... -alter table partitioned_update_1 add columns(c int, d string); - -insert into table partitioned_update_1 partition(part=2) - values (5, 1, 'new', 10, 'ten'), - (6, 2, 'new', 20, 'twenty'), - (7, 3, 'new', 30, 'thirty'), - (8, 4, 'new', 40, 'forty'); - -insert into table partitioned_update_1 partition(part=1) - values (9, 5, 'new', 100, 'hundred'), - (10, 6, 'new', 200, 'two hundred'); - -select insert_num,part,a,b,c,d from partitioned_update_1; - --- UPDATE New Columns -update partitioned_update_1 set c=99; - -select insert_num,part,a,b,c,d from partitioned_update_1; - - --- --- --- SECTION VARIATION: ALTER TABLE ADD COLUMNS ... DELETE where old column ---- -CREATE TABLE partitioned_delete_1(insert_num int, a INT, b STRING) PARTITIONED BY(part INT) clustered by (a) into 2 buckets STORED AS ORC TBLPROPERTIES ('transactional'='true'); - -insert into table partitioned_delete_1 partition(part=1) - values (1, 1, 'original'), - (2, 2, 'original'), - (3, 3, 'original'), - (4, 4, 'original'); - --- Table-Non-Cascade ADD COLUMNS ... -alter table partitioned_delete_1 add columns(c int, d string); - -insert into table partitioned_delete_1 partition(part=2) - values (5, 1, 'new', 10, 'ten'), - (6, 2, 'new', 20, 'twenty'), - (7, 3, 'new', 30, 'thirty'), - (8, 4, 'new', 40, 'forty'); - -insert into table partitioned_delete_1 partition(part=1) - values (9, 5, 'new', 100, 'hundred'), - (10, 6, 'new', 200, 'two hundred'); - -select part,a,b,c,d from partitioned_delete_1; - --- DELETE where old column -delete from partitioned_delete_1 where a = 2 or a = 4 or a = 6; - - -select insert_num,part,a,b,c,d from partitioned_delete_1; - - --- --- --- SECTION VARIATION: ALTER TABLE ADD COLUMNS ... DELETE where new column ---- -CREATE TABLE partitioned_delete_2(insert_num int, a INT, b STRING) PARTITIONED BY(part INT) clustered by (a) into 2 buckets STORED AS ORC TBLPROPERTIES ('transactional'='true'); - -insert into table partitioned_delete_2 partition(part=1) - values (1, 1, 'original'), - (2, 2, 'original'), - (3, 3, 'original'), - (4, 4, 'original'); - --- Table-Non-Cascade ADD COLUMNS ... -alter table partitioned_delete_2 add columns(c int, d string); - -insert into table partitioned_delete_2 partition(part=2) - values (5, 1, 'new', 10, 'ten'), - (6, 2, 'new', 20, 'twenty'), - (7, 3, 'new', 30, 'thirty'), - (8, 4, 'new', 40, 'forty'); - -insert into table partitioned_delete_2 partition(part=1) - values (9, 5, 'new', 100, 'hundred'), - (10, 6, 'new', 200, 'two hundred'); - -select insert_num,part,a,b,c,d from partitioned_delete_2; - --- DELETE where new column -delete from partitioned_delete_2 where a = 1 or c = 30 or c == 100; - -select insert_num,part,a,b,c,d from partitioned_delete_2; - -DROP TABLE partitioned_update_1; -DROP TABLE partitioned_delete_1; -DROP TABLE partitioned_delete_2;
