HDFS (メタデータ ファイル + 5 つのパーツ) に分散された Parquet データセットが与えられた場合、.parquet
パーツを正しくマージしてデータをローカル ファイル システムに収集する方法は? dfs -getmerge ...
機能しません-メタデータを実際の寄木細工のファイルとマージします..
3499 次
3 に答える
2
解決策を提供する Apache Spark API を使用する方法がありますが、サードパーティ ツールを使用しないより効率的な方法が存在する可能性があります。
spark> val parquetData = sqlContext.parquetFile("pathToMultipartParquetHDFS")
spark> parquet.repartition(1).saveAsParquetFile("pathToSinglePartParquetHDFS")
bash> ../bin/hadoop dfs -get pathToSinglePartParquetHDFS localPath
Spark 1.4 以降、DataFrame::coalesce(1)
代わりに使用することをお勧めしますDataFrame::repartition(1)
于 2015-06-29T06:19:27.780 に答える
1
あなたは豚を使うことができます
A = LOAD '/path/to parquet/files' USING parquet.pig.ParquetLoader as (x,y,z) ;
STORE A INTO 'xyz path' USING PigStorage('|');
その上にImpalaテーブルを作成してから、使用することができます
impala-shell -e "query" -o <output>
Mapreduce も同じように使用できます
于 2015-06-29T14:29:30.950 に答える