My favorites | Sign in
Project Home Downloads Wiki Issues Source
READ-ONLY: This project has been archived. For more information see this post.
Search
for
ProgrammingGuideConfiguration  
SSS Mapreduce Programming Guide - Configuration
ja, en
Updated Feb 27, 2013

Configuration

Configurationはユーザアプリケーションからリモート側で実行されるMapper/ReducerやSSS Mapreduceのシステムに対して任意の設定を渡すための仕組みです。

以下の要素はConfigurationクラスのインスタンスを保持し、 getConfigurationメソッドでConfigurationを取得することができます。

  • SssClient
  • JobEngine
  • SimpleJob
  • Job.Builder
  • Job

SssClientは生成時に${MAPREDUCE_HOME}/conf/mapreduce.client.propertiesから設定を読み込み保持します。 JobEngine、SimpleJobは生成時にコンストラクタに渡されるSssClientのインスタンスからConfigurationをコピーします。 Job.Builderは生成時に利用するJobEngineから、JobはJob.BuilderからConfigurationをコピーします。

そのため、全体に適用する設定はSssClientにJobEngineやJob.Builderなどの個々の要素のみに指定したい場合にのみその要素に直接指定します。

Configurationに対して値を設定するメソッドの一部を以下にに示します。

  • void set(String name, String value)
  • void setBoolean(String name, boolean value)
  • void setFloat(String name, float value)
  • void setInt(String name, int value)
  • void setLong(String name, long value)

SssClientのConfigurationに対して、「setting」という名前の設定に「value」という文字列を指定する場合には以下のように記述します。

  public class UserApplication {
    public static void main(String[] args) throws Exception {
      SssClient client = new SssClient(args);

      client.getConfiguration().set("setting", "value");

リモートで実行されるMapper/ReducerからConfigurationを参照するには、引数で渡されるContextに対してContext#getConfigurationを呼び出します。 以下にConfigurationから設定値を取得するメソッドの一部を示します。

  • String get(String name)
  • boolean getBoolean(String name)
  • float getFloat(String name)
  • int getInt(String name)
  • long getLong(String name)

以下にMapperで「setting」の設定値を取得するコードを示します。

  public static class UserMapper extends Mapper {
    public void map(Context context,
        PackableInt key, PackableString value,
        Output<PackableString, PackableInt> output) throws Exception {
        String value = context.getConfiguration().get("setting");
        // value の値を使った処理
      }
    }
  }

注意:

Mapper/ReducerのConfigurationの設定を変更しても、クライアント側や他のMapper/Reducerに値は反映されません。

SSS Mapreduceのシステムに対する設定について設定が関連する機能を説明する際に、説明を行います。

Powered by Google Project Hosting