2017-09-21 5 views
0

データレベルでマージを行い、ストライプ数を減らしたいとします。これは、私はファイルが毎時処理され、多くの小さなORCファイルがパーティションごとに作成されているためです。私はハイブ連結がストライプレベルでファイルをマージできることを知っています。私が連結すると、ファイルのマージはストライプレベルでのみ起こり、多くのストライプが追加されています。私はわずか2-3行の複数のストライプを持つことになります。私はそれに多くの行を持つより小さな縞を持っていると思います。データレベルのOrcファイルがストライプレベルでない

答えて

0

merge.orcfile.stripe.level = falseはうまくいくはずですが、私たちのクラスタでは動作しませんでした。

ファイルを読み込んで組み合わせたカスタムプログラムを作成する必要がありました。

+0

こんにちは@Joel、私たちは同じことをやってみましたが、ストリップレベルのマージと同じくらいうまくいった。インクリメンタルなファイル処理が行われ、毎日複数のファイルが生成され続けます。上書きをして別のテーブルを作成することはできません。上書きがテーブル上で行われているとき、その時点でデータは空白になります。カスタムプログラムは何か違うことをしていますか?あなたのご意見ありがとうございます。とても有難い。 – user72

+0

カスタムプログラムは、結合したファイルを一時ファイルにトラッキングします。その後、小さなファイルを削除してスワップを実行し、大規模な結合ファイルの名前を変更します。 –

関連する問題