构造配置单元映射时,是否有解决“参数类型不匹配”的方法?

时间:2019-01-24 22:41:53

标签: json object hive get

在Amazon EMR上运行Hive 2.3.4,Pig 0.17.0,Hue 4.3.0,Tez 0.9.1,HBase 1.4.8,HCatalog 2.3.4时,我无法创建一个Hive地图,其中键具有多种类型的值,即map和string。错误是

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>"

我正在尝试从配置单元表中的地图制作json:

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可以包含字符串或映射。

是否可以通过任何方式配置配置单元来忽略它?还有其他解决方法吗?显然,json并不要求给定键下的所有值都属于同一类型,因此这看起来有些古怪且不合理。

0 个答案:

没有答案