主コンテンツへ
Oracle® Big Data Applianceソフトウェア・ユーザーズ・ガイド
リリース4 (4.12)
E98567-02
目次へ移動
目次
索引へ移動
索引

前
次

5.6.1 Perfect Balanceを使用するためのJavaコードの変更

Perfect Balanceのインストール・ディレクトリには、Perfect Balance APIを使用するJava MapReduceプログラムの完全な例(入力データを含む)が含まれています。

転置インデックスの例と実行方法については、orabalancer-<version>-h2/examples/invindx/README.txtを参照してください。

変更されたJavaコードを探すには、orabalancer-<version>-h2/examples/jsrc/oracle/hadoop/balancer/examples/invindx/InvertedIndexMapred.javaまたはInvertedIndexMapreduce.javaを参照してください。

Perfect Balanceを実行するための変更には、次のものが含まれます。

例5-3は、転置インデックスのJavaコードの一部を示したものです。

関連項目:

Oracle Big Data Appliance Perfect Balance Java APIリファレンス

例5-3 MapReduceジョブでのPerfect Balanceの実行

     .
     .
     .
import oracle.hadoop.balancer.Balancer;
     .
     .
     .
///// BEGIN: CODE TO INVOKE BALANCER (PART-1, before job submission) //////
    Configuration conf = job.getConfiguration();
    
    Balancer balancer = null;
    
    boolean useBalancer =
        conf.getBoolean("oracle.hadoop.balancer.driver.balance", true);
    if(useBalancer)
    {
      balancer = Balancer.createBalancer(conf);
      balancer.waitForCompletion();
      balancer.addBalancingPlan(conf);
    }
    
    if(conf.getBoolean("oracle.hadoop.balancer.tools.useCountingReducer", true))
    {
      Balancer.configureCountingReducer(conf);
    }
    ////////////// END: CODE TO INVOKE BALANCER (PART-1) //////////////////////
    
    boolean isSuccess = job.waitForCompletion(true);
    
    ///////////////////////////////////////////////////////////////////////////
    // BEGIN: CODE TO INVOKE BALANCER (PART-2, after job completion, optional)
    // If balancer ran, this saves the partition file report into the _balancer
    // sub-directory of the job output directory. It also writes a JobAnalyzer
    // report.
    Balancer.save(job);
    ////////////// END: CODE TO INVOKE BALANCER (PART-2) //////////////////////
     .
     .
     .
}