2015-02-09 124 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

相關問題