是否可以直接从文件加载镶木地板?
Posted
技术标签:
【中文标题】是否可以直接从文件加载镶木地板?【英文标题】:Is it possible to load parquet table directly from file? 【发布时间】:2015-02-09 18:27:58 【问题描述】:如果我有一个二进制数据文件(可以转换为 csv 格式),有没有办法直接从它加载 parquet 表?许多教程显示将 csv 文件加载到文本表,然后从文本表加载到 parquet 表。从效率的角度来看,是否可以直接从我已经拥有的二进制文件中加载镶木地板表?理想情况下使用创建外部表命令。 还是我需要先将其转换为 csv 文件?有文件格式限制吗?
【问题讨论】:
昨天我使用 apache Drill 生成的 parquet 文件创建了一个外部表。 【参考方案1】:不幸的是,无法在 Impala 中读取自定义二进制格式。您应该将文件转换为 csv,然后在现有 csv 文件上创建一个外部表作为临时表,最后插入从临时 csv 表读取的最终 parquet 表。 Impala Parquet documentation 有更多信息和一些相关示例。参见压缩小文件部分,类似。
我不知道您如何将文件格式转换为 csv,但您可以考虑编写一个程序将二进制格式转换为 Parquet。例如,您可以编写一个写入 Parquet 文件的 MapReduce 作业。这是一个读取和写入 Parquet 的示例: https://github.com/cloudera/parquet-examples/blob/master/MapReduce/TestReadWriteParquet.java
【讨论】:
那个链接现在已经消失了,但我在这里发现了类似的:github.com/gregoryg/parquet-examples/tree/master/MapReduce以上是关于是否可以直接从文件加载镶木地板?的主要内容,如果未能解决你的问题,请参考以下文章
我可以直接查询以镶木地板格式存储在 s3 中的数据的红移表吗