1

プロジェクト用の ASCII 入力ファイルがあり、pig スクリプトを使用して mapreducing を実行しています。このスクリプトでは、部分文字列を使用して指定された char 間隔を取ります。Java を使用して char 間隔を取り、jar ファイルを別の pig スクリプトに埋め込んでデータを削減するかどうかを尋ねたいのですが、私のプログラムはより速く実行されますか?

4

1 に答える 1

0

それはすべて、マップメソッドで分割された char 間隔をどのように実装するかに依存します。データがわかっている場合は、部分文字列を最適化できます。このスレッドを確認してください:

charAt() または部分文字列? どちらが速いですか?

また、一般に、jar を Hadoop クラスターに追加すると、ファイル転送と内部設定 (クラスローダー、アンパックなど) のオーバーヘッドが追加されますが、この場合、jar サイズは無視できるはずです。つまり、Java コードを追加してマッパーを実行しても、大きなオーバーヘッドは発生しませんが、pig で生成されたコードが最適ではなく、Java コードが文字列に最適である場合は、マッパー フェーズを改善できます。

于 2012-12-10T10:37:32.840 に答える