在Hive数据类型中,地图比JSON字符串快得多



那里。

我正在考虑JSON格式字符串和地图之间的Hive列中的数据类型。

从我的常识上,没有论点认为地图类型绝对比json string快。但是,我不知道Hive如何处理地图类型中的数据,因此我无法证明。

如果我只想将一些single depth nested data放入列中,那么地图是最佳选择吗?以及比json string的速度多快?

映射也被序列化为字符串并存储在字符串中。在映射器和还原器之间传输的数据在字符串中序列化,然后再次进行序列化。您不会注意到差异。但是,如果映射数据类型,则SERDE将作为地图类型进行序列化,并且您可以在查询中直接应用地图运算符,例如select m[key]size(m)map_keys(m)这看起来比使用JSON_TUPLE() 可能与lateral viewGET_JSON_OBJECT()一起简单得多,在这种情况下,映射可能会更快一些,尽管JSON可以存储更复杂的结构,例如嵌套地图的嵌套数组。如果映射适合您的数据,并适合复杂结构的JSON。