SET hive.metastore.disallow.incompatible.col.type.changes=true; SELECT * FROM src LIMIT 1; CREATE TABLE test_table123 (a INT, b MAP) PARTITIONED BY (ds STRING) STORED AS SEQUENCEFILE; INSERT OVERWRITE TABLE test_table123 PARTITION(ds="foo1") SELECT 1, MAP("a1", "b1") FROM src LIMIT 1; SELECT * from test_table123 WHERE ds="foo1"; ALTER TABLE test_table123 REPLACE COLUMNS (a INT, b MAP); ALTER TABLE test_table123 REPLACE COLUMNS (a BIGINT, b MAP); ALTER TABLE test_table123 REPLACE COLUMNS (a INT, b MAP); ALTER TABLE test_table123 REPLACE COLUMNS (a DOUBLE, b MAP); ALTER TABLE test_table123 REPLACE COLUMNS (a TINYINT, b MAP); ALTER TABLE test_table123 REPLACE COLUMNS (a BOOLEAN, b MAP); ALTER TABLE test_table123 REPLACE COLUMNS (a TINYINT, b MAP); ALTER TABLE test_table123 CHANGE COLUMN a a_new BOOLEAN; -- All the above ALTERs will succeed since they are between compatible types. -- The following ALTER will fail as MAP and STRING are not -- compatible. ALTER TABLE test_table123 REPLACE COLUMNS (a INT, b STRING);