【问题标题】:Loading JAXB objects to Apache Hive/Impala将 JAXB 对象加载到 Apache Hive/Impala
【发布时间】:2013-06-07 07:49:12
【问题描述】:

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

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

【问题讨论】:

    标签: serialization hadoop hive hdfs impala


    【解决方案1】:

    是的,使用序列文件。

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

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

    谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-07
      • 1970-01-01
      相关资源
      最近更新 更多