約 1.22 GB のファイルで Pig Script を実行しています。デフォルトのチャンク サイズは 64MB です。4 つのデータ ノードがあります。出力としての Pig スクリプトは、19 個のファイルを生成します。
Pig スクリプトを実行してジョブ トラッカーを表示すると、6 つのジョブが表示されます。
Jobid Priority User Name Map % Complete Map Total Maps Completed Reduce % Complete Reduce Total Reduces Completed Job Scheduling Information Diagnostic Info
job_201207121202_0001 NORMAL user PigLatin:Analysis.pig 100.00% 20 20 100.00% 1 1 NA NA
job_201207121202_0002 NORMAL user PigLatin:Analysis.pig 100.00% 5 5 100.00% 1 1 NA NA
job_201207121202_0003 NORMAL user PigLatin:Analysis.pig 100.00% 2 2 100.00% 1 1 NA NA
job_201207121202_0004 NORMAL user PigLatin:Analysis.pig 100.00% 2 2 100.00% 1 1 NA NA
job_201207121202_0005 NORMAL user PigLatin:Analysis.pig 100.00% 5 5 100.00% 1 1 NA NA
job_201207121202_0006 NORMAL user PigLatin:Analysis.pig 100.00% 5 5 100.00% 1 1 NA NA
私の理解では、入力ファイルのサイズは 1.22 GB、チャンク サイズは 64 MB であるため、ファイルに対して合計 20 個のブロックが作成されます。レプリケーション ファクターは 3 です。分割ごとに 1 つのマップ ジョブがあるため、20 個のマップ ジョブがあり、job_201207121202_0001 ジョブは上記のリストでそれを示しており、完璧です。しかし、他の 5 つのジョブと完全に他の 19 のマップ タスクが表示されるのはなぜですか?
誰でもこれを理解するのを手伝ってくれませんか。1.22GB/64MB ~ 20 だったので、20 個のマップと 1 個のリデュース ジョブがあるだけだと思っていました。
私は Pig/Hadoop の初心者です。助けていただければ幸いです。