2

バイナリ データ ファイル (csv 形式に変換可能) がある場合、そこから直接 parquet テーブルを読み込む方法はありますか? 多くのチュートリアルでは、csv ファイルをテキスト テーブルにロードしてから、テキスト テーブルから寄木細工のテーブルにロードする方法を示しています。効率の観点から、私がすでに持っているようなバイナリファイルから寄木細工のテーブルを直接ロードすることは可能ですか? 理想的には、create external table コマンドを使用します。または、最初にcsvファイルに変換する必要がありますか? ファイル形式の制限はありますか?

4

1 に答える 1

2

残念ながら、Impala でカスタム バイナリ形式から読み取ることはできません。ファイルを csv に変換し、既存の csv ファイルの上に一時テーブルとして外部テーブルを作成し、最後に一時 csv テーブルから読み取った最終的な寄木細工のテーブルに挿入する必要があります。Impala Parquetのドキュメントには、さらに多くの情報といくつかの関連する例があります。同様の小さなファイルの圧縮に関するセクションを参照してください。

ファイル形式を csv に変換する方法はわかりませんが、バイナリ形式を Parquet に変換するプログラムを作成することを検討してください。たとえば、Parquet ファイルを書き込む MapReduce ジョブを作成できます。以下は、Parquet を読み書きする例です: https://github.com/cloudera/parquet-examples/blob/master/MapReduce/TestReadWriteParquet.java

于 2015-02-09T19:30:15.370 に答える