While running Hive 2.3.4, Pig 0.17.0, Hue 4.3.0, Tez 0.9.1, HBase 1.4.8, HCatalog 2.3.4 on Amazon EMR, I am unable to make a hive map wherein one of the keys has values of multiple types, namely map and string. The error is
SemanticException [Error 10016]: Line 3:28 Argument type mismatch ''$'': Value type "string" is different from preceding value types. Previous value type was "map<string,string>" I am attempting to make json from a map from a hive table: create temporary function to_json AS 'brickhouse.udf.json.ToJsonUDF'; SELECT to_json(map( "first_key",map("s","default_value") , "second_key", get_json_object(my_table.`_special_column`,'$') )) FROM my_table LIMIT 100; _special_column can contain either a string or a map. Is there any way to configure hive to ignore this? Any other way around it? Clearly, json doesn't require that all values under a given key are of the same type, so this seems a bit draconian and unreasonable. Amiri