如果我有一个二进制数据文件(可以转换为 csv 格式),有什么方法可以直接从中加载镶木地板表吗?许多教程显示将 csv 文件加载到文本表,然后从文本表加载到镶木地板表。从效率的角度来看,是否可以像我已有的那样直接从二进制文件加载镶木地板表?理想情况下使用创建外部表命令。
或者我需要先将其转换为 csv 文件?文件格式有限制吗?
不幸的是,无法在 Impala 中读取自定义二进制格式。您应该将文件转换为 csv,然后在现有 csv 文件上创建一个外部表作为临时表,最后插入到从临时 csv 表读取的最终镶木地板表中。这Impala Parquet 文档 http://www.cloudera.com/content/cloudera/en/documentation/core/latest/topics/impala_parquet.html有更多信息和一些相关示例。请参阅有关压缩小文件的部分,这是类似的。
我不知道如何将文件格式转换为 csv,但您可能会考虑编写一个程序将二进制格式转换为 Parquet。例如,您可以编写一个写入 Parquet 文件的 MapReduce 作业。下面是一个读取和写入 Parquet 的示例:https://github.com/cloudera/parquet-examples/blob/master/MapReduce/TestReadWriteParquet.java https://github.com/cloudera/parquet-examples/blob/master/MapReduce/TestReadWriteParquet.java
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)