1

これはより一般的な質問ですが、ここでは特定の状況に関する詳細なヘルプを見つけることができません。大きなサイズのファイルが多数あります (それぞれ平均 2GB)。これらのファイルには、個別のエントリに解決するために別のライブラリで読み取る必要があるカスタム形式でコーディングされたエントリが含まれています。MapReduce を使用してこれらのファイルを解析したいのですが、デフォルトの InputFormat と InputSplit はファイルを 1 行ずつ処理しますが、これは私が望むものではありません。ファイルを分割する方法 (各分割にはいくつかのエントリを含める必要があります) とレコードを生成する方法 (各エントリはキー/値のペアにマップする必要があります) を指定する必要があるようです。

これを実現するには、どのメソッドをオーバーライドする必要がありますか?

4

1 に答える 1

0

これは、この入力ファイルのカスタム InputFormat を記述することで実行できます 1. 分割の開始と終了を設定する必要があります 1.1 行の開始と行の終了を設定できます 2. このためのレコード リーダーsplit を使用して、分割内のレコードを読み取ります。

以下は、XML を読み取る例です。これで始められるはずです。 XML ファイル処理

于 2015-02-11T02:48:21.367 に答える