Hadoop Map Reduce を使用してウィキペディアのデータ ダンプ (bz2 形式で圧縮) を調査しています。これらのダンプは非常に大きい (5 T) ため、xml データを HDFS に解凍できず、hadoop が提供する StreamXmlRecordReader を使用するだけです。Hadoop は bz2 ファイルの解凍をサポートしていますが、ページを任意に分割してマッパーに送信します。これは xml であるため、分割をタグにする必要があります。組み込みの bz2 解凍と、hadoop が提供するストリーム xml レコード リーダーを一緒に使用する方法はありますか?
4251 次
2 に答える
7
ウィキメディア財団は、bz2圧縮されたフルダンプファイルを読み取ってマッパーに送信できるHadoopストリーミングインターフェイス用のInputReaderをリリースしました。マッパーに送信されるユニットは、ページ全体ではなく、2つのリビジョンです(したがって、実際には2つのリビジョンで差分を実行できます)。これは最初のリリースであり、いくつかのバグがあると確信していますが、試してみて、テストにご協力ください。
Hadoop 0.21はbz2ファイルのストリーミングをサポートしているため、このInputReaderにはHadoop0.21が必要です。ソースコードはhttps://github.com/whym/wikihadoopで入手できます。
于 2011-08-06T11:09:48.770 に答える
0
Your problem is the same as described here. So my answer is the same too You should create your own variation on TextInputFormat. In there you make a new RecordReader that skips lines until it sees the start of a logical line.
于 2011-07-18T19:36:52.360 に答える