使用Sqoop我已成功从具有BLOB列的表中导入了几行。现在part-m-00000文件包含所有记录以及BLOB字段为CSV。
问题:
1)根据doc,有关Sqoop特定格式的知识可以帮助读取这些blob记录。 那么,Sqoop特定格式意味着什么?
2)基本上blob文件是包含一些浮点数据的文本文件的.gz文件。这些.gz文件作为blob存储在Oracle DB中,并使用Sqoop导入HDFS。那么我怎样才能从HDFS文件中获取那些浮点数据。 任何示例代码都将非常有用。
答案 0 :(得分:1)
我看到了这些选项。
Sqoop从Oracle直接导入到具有二进制数据类型的hive表。此选项可能会限制hive之外的处理能力,如MR,pig等。即,您可能需要了解blob如何以二进制等方式存储在配置单元中的知识。您在问题1中描述的限制相同。
Sqoop从oracle导入到avro,序列或orc文件格式,可以保存二进制文件。你应该能够通过在它上面创建一个hive外部表来阅读它。您可以编写配置单元UDF来解压缩二进制数据。此选项更灵活,因为可以使用MR轻松处理数据,尤其是avro序列文件格式。
希望这会有所帮助。你是怎么解决的?