txt を入力として使用して Hadoop seq ファイルを作成しています。テキストファイルからシーケンスファイルを書き込む方法を知っています。
しかし、出力シーケンスファイルを特定のサイズ、たとえば 256MB に制限したいと考えています。
これを行う組み込みの方法はありますか?
txt を入力として使用して Hadoop seq ファイルを作成しています。テキストファイルからシーケンスファイルを書き込む方法を知っています。
しかし、出力シーケンスファイルを特定のサイズ、たとえば 256MB に制限したいと考えています。
これを行う組み込みの方法はありますか?
AFIAK 出力ファイルのサイズを制限するには、独自のカスタム出力形式を作成する必要があります。デフォルトでは、FileOutputFormats はレデューサーごとに 1 つの出力ファイルを作成します。
もう 1 つのオプションは、通常どおりシーケンス ファイルを作成し、次に ID マッパーを使用して 2 番目のジョブ (マップのみ) を作成し、最小/最大入力分割サイズを修正して、各マッパーがそれぞれ ¬256MB のみを処理するようにすることです。これは、1GB の入力ファイルが 4 つのマッパーによって処理され、256MB の出力ファイルが作成されることを意味します。入力ファイルが 300MB の小さなファイルが得られます (256MB のマッパーと 44MB のマッパーが実行されます)。
お探しの物件は以下の通りです。
mapred.min.split.size
mapred.max.split.size
どちらもバイトサイズで構成されているため、両方を268435456