|
ProgrammingGuideConfiguration
SSS Mapreduce Programming Guide - Configuration
ja, en ConfigurationConfigurationはユーザアプリケーションからリモート側で実行されるMapper/ReducerやSSS Mapreduceのシステムに対して任意の設定を渡すための仕組みです。 以下の要素はConfigurationクラスのインスタンスを保持し、 getConfigurationメソッドでConfigurationを取得することができます。
SssClientは生成時に${MAPREDUCE_HOME}/conf/mapreduce.client.propertiesから設定を読み込み保持します。 JobEngine、SimpleJobは生成時にコンストラクタに渡されるSssClientのインスタンスからConfigurationをコピーします。 Job.Builderは生成時に利用するJobEngineから、JobはJob.BuilderからConfigurationをコピーします。 そのため、全体に適用する設定はSssClientにJobEngineやJob.Builderなどの個々の要素のみに指定したい場合にのみその要素に直接指定します。 Configurationに対して値を設定するメソッドの一部を以下にに示します。
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から設定値を取得するメソッドの一部を示します。
以下に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のシステムに対する設定について設定が関連する機能を説明する際に、説明を行います。 | |