那里。
我正在考虑hive列中的数据类型,在json格式化的字符串和map之间。
在我的常识中,没有关于映射类型绝对比json string更快的论点。但是,我不知道hive如何处理地图类型中的数据,所以我无法证明它。
如果我只想把一些single depth nested data放在列中,那么地图是最好的选择吗?以及比json string快多少
发布于 2019-05-28 12:15:42
Map也被序列化为字符串,并存储在字符串中。映射器和还原器之间传输的数据在字符串中序列化,然后再反序列化.你不会注意到区别的。但是,在地图数据类型的情况下,SerDe将反序列化为map类型,您可以在查询中直接应用映射操作符,如select m[key]、size(m)或map_keys(m)。这看起来比使用JSON_TUPLE() (可能与lateral view或GET_JSON_OBJECT()一起使用)简单得多,在本例中,map可能工作得更快一些,尽管JSON可以存储更复杂的结构,比如嵌套的映射数组。如果它适合您的数据和复杂结构的JSON,请选择map。
https://stackoverflow.com/questions/56327929
复制相似问题