私のアプリケーションは、数TB相当の表形式のデータを処理する必要があります。現時点では、データはいくつかの巨大なコンマ区切りのcsvファイルとして保存されています。M / Rジョブにファイルがどのように提供されるかを制御できますが、ジョブをより高速に実行するために推奨されるファイル形式は何ですか?たとえば、現在使用しているテキストファイルではなく、シーケンスファイルとして入力データを保存することに意味はありますか?それで私のM/Rジョブは著しく速く実行されますか?
1 に答える
1
「ファイル形式」の観点からは、SequeceFile を使用することが csv データのテキスト ファイルよりも大幅に改善されるとは思いません。それが CSV データ内の単一の (キー、値) ペアである場合、textfile ではなく SequenceFile を使用することは理にかなっています。
しかし、CSV のようなデータに適したRCFile ( Record Columnar File ) の使用に興味があります。ハイブ テーブルで使用したところ、ハイブ クエリの実行時間が大幅に短縮されました。これは、Hive クエリが M/R プログラムに変換されるため、M/R での実行効率によるものだと推測しています。
于 2012-07-03T05:47:51.827 に答える