第四章MapReduceアプリケーションの開発

1813 ワード


4.1システムパラメータの構成
構成中に「final」とマークされた属性は書き換えられません
 
4.2開発環境の構成
Hadoopの3つの異なる運転方式:単機モード、擬似分布式モード、完全分布式
 
4.3 MapReduceプログラムの作成
 
4.4ローカルテスト
P62
 
4.5 MapReduceプログラムの実行
P62
 
4.6ネットワークユーザーインタフェース
P65
 
4.7性能調整
 P68
 
4.8 MapReduceワークフロー
1、setup関数
/**
   * Called once at the beginning of the task.
   */
  protected void setup(Context context
                       ) throws IOException, InterruptedException {
    // NOTHING
  }

task関数の起動後にデータ処理の前に値が1回呼び出され、map関数とreduce関数はスライス内のkeyごとに1回呼び出されます.
2、cleanup関数
  /**
   * Called once at the end of the task.
   */
  protected void cleanup(Context context
                         ) throws IOException, InterruptedException {
    // NOTHING
  }

task破棄前に呼び出す
3、run数
  /**
   * Expert users can override this method for more complete control over the
   * execution of the Mapper.
   * @param context
   * @throws IOException
   */
  public void run(Context context) throws IOException, InterruptedException {
    setup(context);
    while (context.nextKeyValue()) {
      map(context.getCurrentKey(), context.getCurrentValue(), context);
    }
    cleanup(context);
  }

きどうかんすう
 
MapReduce Jobでのグローバル共有データ
1、HDFSファイルを読み込む
複数のMapとReduceに対して書き込みを行うと、前のデータが上書きされ、I/Oがリソースを消費する
2、Job属性の配置
コンフィギュレーションクラスのset()でプロパティを設定し、taskでget()でプロパティを取得すると、大きなデータ共有が弱くなります
3、DistributedCache
MapReduceは、アプリケーションにキャッシュファイルを提供する読み取り専用ツールです.