2015-02-09 50 views
2

如果我有一个二进制数据文件(它可以转换为csv格式),有没有办法直接从它加载镶木地板表?许多教程显示将csv文件加载到文本表格,然后从文本表格加载到镶木地板表格。从效率的角度来看,是否可以直接从我已有的二进制文件中加载镶木地板表?理想情况下使用create external table命令。 或者我需要先将其转换为csv文件?是否有任何文件格式限制?是否可以直接从文件加载镶木地板表?

+0

昨天我创建了一个外部表,使用用apache drill生成的parquet文件。 – 2016-02-12 10:35:35

回答

2

不幸的是,无法从Impala中的自定义二进制格式中读取数据。您应该将文件转换为csv,然后在现有的csv文件上创建一个外部表作为临时表,最后将其插入从temp csv表读取的最终parquet表中。 Impala Parquet documentation有更多的信息和一些相关的例子。请参阅关于压缩小文件的部分,它们是相似的。

我不知道如何将文件格式转换为csv,但可以考虑编写一个程序将您的二进制格式转换为Parquet。例如,您可以编写一个写入Parquet文件的MapReduce作业。下面是一个读写Parquet的例子: https://github.com/cloudera/parquet-examples/blob/master/MapReduce/TestReadWriteParquet.java

+0

该链接现在已经消失,但我在这里发现类似:https://github.com/gregoryg/parquet-examples/tree/master/MapReduce – Codek 2017-07-17 09:47:42

相关问题