このセクションでは、Perfect Balanceの構成プロパティと、Perfect Balanceがジョブ構成から読み取るいくつかの汎用Hadoop MapReduceプロパティについて説明します。
機能カテゴリにまとめられたプロパティのリストは、「Perfect Balanceの構成について」を参照してください。
注意:
CDH5では多数のMapReduceプロパティが非推奨になり、新しいプロパティに置換されています。Perfect Balanceでは古いプロパティ名を引き続き使用しますが、新しい名前を使用することをお薦めします。新しいMapReduceプロパティ名については、次のCloudera Webサイトを参照してください。
MapReduce構成プロパティ
プロパティ | 型、デフォルト値および説明 |
---|---|
mapreduce.input.fileinputformat.inputdir |
型: String デフォルト値: 定義されていません。 説明: 入力ディレクトリの名前のカンマ区切りリスト。 |
mapreduce.inputformat.class |
型: String デフォルト値: 説明: |
mapreduce.map.class |
型: String デフォルト値: 説明: マッパー・クラスのフル・ネーム。 |
mapreduce.output.fileoutputformat.outputdir |
型: String デフォルト値: 定義されていません。 説明: ジョブの出力ディレクトリ。 |
mapreduce.partitioner.class |
型: String デフォルト値: 説明: パーティショナ・クラスのフル・ネーム。 |
mapreduce.reduce.class |
型: String デフォルト値: 説明: リデューサ・クラスのフル・ネーム。 |
Job Analyzerの構成プロパティ
プロパティ | 型、デフォルト値および説明 |
---|---|
oracle.hadoop.balancer.application_id |
型: String デフォルト値: 定義されていません。 説明: Job Analyzerで分析するジョブのジョブ識別子。このプロパティは、YARNクラスタ上のスタンドアロン・モードでのJob Analyzerユーティリティに対するパラメータです。MRv1クラスタには適用されません。「Job Analyzerをスタンドアロン・ユーティリティとして実行する」を参照してください。 |
oracle.hadoop.balancer.tools.writeKeyBytes |
型: Boolean デフォルト値: 説明: カウンティング・リデューサがJob Analyzer用のリデュース・キーのバイト表現を収集するかどうかを制御します。このプロパティを |
Perfect Balance構成プロパティ
プロパティ | 型、デフォルト値および説明 |
---|---|
oracle.hadoop.balancer.choppingStrategy choppingStrategyプロパティは非推奨のプロパティ |
型: String デフォルト値: 説明: このプロパティは、キーを分割する必要がある場合にサンプラの動作を制御します。次の値が有効です。
関連項目: oracle.hadoop.balancer.enableSorting (非推奨のプロパティ) |
oracle.hadoop.balancer.confidence |
型: Float デフォルト値: 説明: このプロパティは、0.5以上、1.0未満(0.5 <= 値 < 1.0)の値を受け入れます。値が0.5未満の場合、プロパティがデフォルト値に再設定されます。0.9以上の値をお薦めします。典型的な値は、0.95と0.99です。 |
oracle.hadoop.balancer.enableSorting |
型: Boolean デフォルト値: 説明: このプロパティは非推奨です。マップ出力キーのソーティング・コンパレータをトータルオーダー・パーティショニング関数として使用するには、 このプロパティがfalseの場合、マップ出力キーはハッシュ関数を使用して分割されます。このプロパティがtrueの場合、マップ出力キーの分割には、マップ出力キーのソーティング・コンパレータがトータルオーダー・パーティショニング関数として使用されます。このプロパティがtrueの場合、バランサは分割されたキーの値に対するトータルオーダーを保存します。 |
oracle.hadoop.balancer.inputFormat.mapred.map.tasks |
型: Integer デフォルト値: 説明: 入力形式の このプロパティは1以上の値に設定してください。1未満の値に設定すると、プロパティが無効になります。 一部の入力形式( 値を高くすると、より大きいデータ・セットを取得できます(たとえば、行当たり約100バイトで数百行を取得するなど)。ただし、極端に大きな値を設定すると、入力形式の |
oracle.hadoop.balancer.inputFormat.mapred.max.split.size |
型: Long デフォルト値: 説明: 入力形式の このプロパティは1以上の値に設定してください。1未満の値に設定すると、プロパティが無効になります。最適な分割サイズは、良好なサンプルの取得(より少ない分割数)と効率的なI/Oパフォーマンス(より多い分割数)との間のトレードオフになります。 一部の入力形式( 大きなデータ・セット(数十TB)を取得しようとして値を高くすると、入力形式の |
oracle.hadoop.balancer.keyLoad.minChopBytes |
型: Long デフォルト値: 説明: Perfect Balanceでマップ出力キーを中間キーに分割するかどうかを制御します。
|
oracle.hadoop.balancer.linearKeyLoad.byteWeight |
型: Float デフォルト値: 説明: |
oracle.hadoop.balancer.linearKeyLoad.feedbackDir |
型: String デフォルト値: 定義されていません。 説明: 以前に分析したジョブのJob Analyzerレポートを含むディレクトリへのパス。サンプラはフィードバックのためにこのレポートを分析し、現在のバランシング・プランを最適化します。フィードバックを直接適用できるように、このプロパティを、現在のジョブと同一または類似するジョブのJob Analyzerレポート・ディレクトリに設定できます。 フィードバック・ディレクトリにPerfect Balance線形キー・ロード・モデル係数の推奨値を含むJob Analyzerレポートが含まれている場合、Perfect Balanceはその係数を自動的に読み取って使用します。推奨値は、これらの構成パラメータでユーザーが指定した値よりも優先されます。 Job Analyzerはこれらの係数に適切な値の推奨を試行します。ただし、Perfect Balanceは次のような状況では構成プロパティのこのリストからロード・モデル係数を読み込みます。
|
oracle.hadoop.balancer.linearKeyLoad.keyWeight |
型: Float デフォルト値: 50.0 説明: |
oracle.hadoop.balancer.linearKeyLoad.rowWeight |
型: Float デフォルト値: 0.05 説明: |
oracle.hadoop.balancer.maxLoadFactor |
型: Float デフォルト値: 0.05 説明: バランサのパーティション・プランで達成するターゲット・リデューサ負荷係数。 負荷係数とは、見積り値からの相対偏差です。たとえば、 これら2つのプロパティの値により、サンプラの停止条件が決定されます。バランサは、指定された負荷係数を指定された信頼度で保証するプランを生成できるかぎり、サンプリングを継続します。この保証では、他の停止条件(サンプル数が
|
oracle.hadoop.balancer.maxSamplesPct |
型: Float デフォルト値: 説明: Perfect Balanceが収集できるサンプル数を、総入力レコードのごく一部に制限します。ゼロより小さい値を設定すると、プロパティは無効(無制限)になります。 リデューサ・パーティションがきわめて不均一な場合や、マップ出力キーが高密度でクラスタ化されている場合には、Hadoopアプリケーションの値を高くすることが必要になることがあります。これらの場合、サンプラは良好なパーティショニング・プランを達成するためにより多くのデータをサンプリングする必要があります。
|
oracle.hadoop.balancer.minSplits |
型: Integer デフォルト値: 説明: サンプラが読み取る最小分割数を設定します。総分割数がこの値よりも少ない場合、サンプラはすべての分割を読み取ります。このプロパティは、 |
oracle.hadoop.balancer.numThreads |
型: Integer デフォルト値: 説明: サンプラ・スレッドの数。この値は、ジョブが開始されるノードで使用可能なプロセッサとメモリー・リソースに基づいて設定します。サンプラ・スレッドの数を増やすほど、より多くのサンプリングが並行処理されます。このプロパティを( |
oracle.hadoop.balancer.report.overwrite |
型: Boolean デフォルト値: 説明: Perfect Balanceが |
oracle.hadoop.balancer.reportPath |
型: String デフォルト値: 説明: Hadoopジョブ出力ディレクトリが使用可能になる前(つまり、MapReduceジョブが実行を完了する前)に、Perfect Balanceがパーティション・レポートを書き込む場所のパス。ジョブの最後に、Perfect Balanceはファイルを |
oracle.hadoop.balancer.runMode |
型: String デフォルト値: 説明: Perfect Balanceサンプラの実行方法を指定します。次の値が有効です。
このプロパティを無効な文字列に設定すると、Perfect Balanceによって |
oracle.hadoop.balancer.tmpDir |
型: String デフォルト値: 説明: ジョブ出力ディレクトリ(HDFSまたはローカル)のファイル・システム内にあるステージング・ディレクトリへのパス。Perfect Balanceは、ディレクトリが存在していなければディレクトリを作成し、パーティション・レポートをそこにコピーして、Hadoop分散キャッシュにロードできるようにします。 |
oracle.hadoop.balancer.useClusterStats |
型: Boolean デフォルト値: 説明: サンプラがクラスタ・サンプリング統計情報を使用できるようにします。これらの統計情報は、マップ出力キーがすべての入力分割に対して個別に分散されているのではなく、各入力分割に対してクラスタ内で分散されている場合に、サンプリングされた見積り値(マップ出力キー内のレコード数など)の精度を改善します。 このプロパティは、マップ出力キーがクラスタ化されていないことが確実にわかっている場合にのみ、 |
oracle.hadoop.balancer.useMapreduceApi |
型: Boolean デフォルト値: 説明: Hadoopジョブで使用されるMapReduce APIを識別します。
|