如果我有二进制数据文件(它可以转换为csv格式),有没有办法直接从中加载镶木地板表?许多教程显示将csv文件加载到文本表,然后从文本表加载到镶木桌。从效率的角度来看,是否可以直接从二进制文件加载镶木地板表,就像我已经拥有的那样?理想情况下使用create external table命令。 或者我需要先将其转换为csv文件?有任何文件格式限制吗?
答案 0 :(得分:2)
不幸的是,无法从Impala中的自定义二进制格式中读取。您应该将文件转换为csv,然后在现有csv文件上创建一个外部表作为临时表,最后插入从temp csv表中读取的最终镶木桌。 Impala Parquet documentation有更多信息和一些相关示例。请参阅有关压缩小文件的部分,该部分类似。
我不知道你如何将文件格式转换为csv,但你可能会考虑编写一个程序来将二进制格式转换为Parquet。例如,您可以编写一个写入Parquet文件的MapReduce作业。这是一个读写Parquet的例子: https://github.com/cloudera/parquet-examples/blob/master/MapReduce/TestReadWriteParquet.java