蜂房数据类型中的映射比JSON字符串快多少?

时间:2019-05-27 14:24:46

标签: json hadoop hive hiveql

有。

我正在考虑hive列​​中json格式的字符串和map之间的数据类型。

按照我的常识,没有理由认为地图类型肯定比json string更快。但是,我不知道配置单元如何处理地图类型中的数据,因此无法证明。

如果我只想将single depth nested data放入一列中,则map是最佳选择?以及比json string快多少?

1 个答案:

答案 0 :(得分:0)

Map也被序列化为字符串并存储在字符串中。在映射器和化简器之间传输的数据将以字符串序列化,然后再次反序列化。您不会注意到差异。但是如果是地图数据类型,SerDe将反序列化为“地图类型”,您可以直接在查询中应用地图运算符,例如select m[key]size(m)map_keys(m)与使用JSON_TUPLE()lateral view一起使用GET_JSON_OBJECT() 相比,这看起来要简单得多,在这种情况下,虽然JSON可以存储更复杂的结构,但映射可能会更快一些就像地图的嵌套数组一样。如果适合复杂数据的数据和JSON,请选择map。