json - 在配置单元数据类型中, map 比 JSON 字符串快多少?

标签 json dictionary hadoop hive hiveql

那里。

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

以我的常识,没有人认为map类型肯定比json string快。但是,我不知道 hive 是如何处理 map 类型中的数据的,所以我无法证明这一点。

如果我只想将一些单深度嵌套数据 放入列中,map 是最佳选择吗?以及比 json string 快多少?

最佳答案

Map也被序列化为字符串,存储在字符串中。 mapper 和 reducer 之间传输的数据以字符串形式序列化,然后再次反序列化。您不会注意到差异。但是在 map 数据类型的情况下,SerDe 将反序列化为 map 类型,您可以直接在查询中应用 map 运算符,如 select m[key]size(m)map_keys(m)这看起来比使用 JSON_TUPLE() 更简单map 可能工作得更快一些,尽管 JSON 可以存储更复杂的结构,如嵌套的 map 数组。如果它适合您的数据和复杂结构的 JSON,请选择 map 。

关于json - 在配置单元数据类型中, map 比 JSON 字符串快多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56327929/

相关文章:

javascript - 字符串格式自定义方法扩展

javascript - 使用循环推送到作为 Map 中的值的数组

apache - Hadoop、HBase 和 Apache Nutch 兼容版本

r - 使用水管工读取json作为API函数的输入值

java - 为什么转换JSON RESTful Webservice后,POJO中的某些变量等于null?

c++ - 在函数中填充结构图的最佳方法是什么

hadoop - 有没有一种简单的方法可以从 SequenceFiles 迁移到 Avro?

regex - 在Pig脚本中使用正则表达式从日志中提取字符串

python - 将字典保存到 json python

python - 数据的多处理加载并提交给 sqlalchemy