重新解析存储在Sqoop从Oracle导入的HDFS中的Blob数据

时间:2015-10-19 12:26:54

标签: mapreduce blob hdfs sqoop

使用Sqoop我已成功从具有BLOB列的表中导入了几行。现在part-m-00000文件包含所有记录以及BLOB字段为CSV。

问题:

1)根据doc,有关Sqoop特定格式的知识可以帮助读取这些blob记录。 那么,Sqoop特定格式意味着什么?

2)基本上blob文件是包含一些浮点数据的文本文件的.gz文件。这些.gz文件作为blob存储在Oracle DB中,并使用Sqoop导入HDFS。那么我怎样才能从HDFS文件中获取那些浮点数据。 任何示例代码都将非常有用。

1 个答案:

答案 0 :(得分:1)

我看到了这些选项。

  1. Sqoop从Oracle直接导入到具有二进制数据类型的hive表。此选项可能会限制hive之外的处理能力,如MR,pig等。即,您可能需要了解blob如何以二进制等方式存储在配置单元中的知识。您在问题1中描述的限制相同。

  2. Sqoop从oracle导入到avro,序列或orc文件格式,可以保存二进制文件。你应该能够通过在它上面创建一个hive外部表来阅读它。您可以编写配置单元UDF来解压缩二进制数据。此选项更灵活,因为可以使用MR轻松处理数据,尤其是avro序列文件格式。

  3. 希望这会有所帮助。你是怎么解决的?