serialization - 将 JAXB 对象加载到 Apache Hive/Impala

标签 serialization hadoop hive hdfs impala

考虑一个具有多个原语和集合作为成员变量的复杂 java (JAXB) 对象。 Reducer 阶段将这些对象作为 < K, V > 对发送到 HDFS,其中 K 是一个 id,V 是对象的序列化形式 (SequenceFileOutputFormat)。
是否可以将这些 java 序列化对象从 HDFS/本地位置加载到 Hive/Impala?

MongoDB 能够将 JAXB 对象存储为开箱即用的 json 文档。非常感谢在 Hive 或 Impala 上实现相同目标的任何帮助。

最佳答案

是的,使用序列文件。

这个链接应该有帮助:http://blog.cloudera.com/blog/2012/12/how-to-use-a-serde-in-apache-hive/

SerDe 接口(interface)允许您指示 Hive 应如何处理记录。 SerDe 是 Serializer 和 Deserializer(因此称为 Ser-De)的组合。 Deserializer 接口(interface)采用记录的字符串或二进制表示,并将其转换为 Hive 可以操作的 Java 对象。然而,Serializer 将采用 Hive 一直在使用的 Java 对象,并将其转换为 Hive 可以写入 HDFS 或其他支持的系统的东西。通常,在查询时使用反序列化器来执行 SELECT 语句,而在写入数据时使用序列化器,例如通过 INSERT-SELECT 语句。

谢谢

关于serialization - 将 JAXB 对象加载到 Apache Hive/Impala,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16978901/

相关文章:

javascript - 加速从 C# 到 JSON 的 JSON 序列化

c++ - boost::serialization:是否可以避免使用模板函数?

c# - Mongodb - 实体序列化正常,但反序列化时出现 'No serializer found for type' 错误

hadoop - Mapreduce 并行副本与 http 线程

hadoop - YARN中允许在同一DataNode上具有多个容器吗?

java - 在 hadoop 中将 json 数据保存在 hdfs 中

sql - 如何加入 hive

sql - 使用 hive 删除特殊字符

java - 在配置单元中创建表异常?

java - 如何在 java 中通过 TCP 发送 OBJECT?