1

マップ側の結合が実際に結合できるパスの最大数はいくつですか?

私はn個のフォルダを持っています-path/to / folder1、path / to / folder2、path / to / folder3 .... so on path / to / folder in HDFS

path / to / folder1には、part-1、part-2、part-3などの3つのファイルが含まれています。同様に、残りのすべてのフォルダーには、folder1と同じ名前の3つのファイルがあります。

以下のようにマップ側結合を使用してこれらのフォルダを結合したい

pathToJoin <-path / to / folder1、path / to / folder2、path / to / folder3 .... so on path / to / folder * n *

文字列joinStmt=CompositeInputFormat.compose( "outer"、TextInputFormat、pathsToJoin);

conf.set( "mapred.join.expr"、joinStmt);

各フォルダーに3つのファイルがあるため、ジョブは3つのマップタスクを生成します(1つのマッパーに結合されたすべてのパート1ファイルのコンテンツ、2番目のマッパーへのすべてのパート2ファイルのコンテンツ、および3番目のマッパーへのすべてのパート3ファイルのコンテンツ) )しかし、ここでnの最大値は何であるか知りたいですか?

4

1 に答える 1

0

CompositeInputFormat のソース コードにハード リミットはないようです。パスは、結合を記述する文字列式に追加され、分割に解析されます。あなたはおそらくメモリに制限されていますが、問題なく1000ではないにしても100をリストできると思います

于 2012-11-27T11:51:07.253 に答える