Submit Spark Job

Submit Spark Job アクティビティを使用すると、Spark ジョブを Hadoop クラスタまたは Spark クラスタで実行することができます。このアクティビティを使用すると、Spectrum™ Big Data Quality SDK の Spark ジョブまたは任意の外部 Spark ジョブを実行できます。

現在、Spark ジョブを次の 2 つのクラスタ タイプのどちらかに送信できます。
  • YARN
  • Spark

展開モード

Spark ジョブは、クラスタまたはクライアント展開モードで実行します。展開モードによって、Spark ジョブ ドライバ クラスがクラスタで実行されるか、それともクライアントSpectrum™ Technology Platformで実行されるかが決まります。

簡単に言えば、Spark ジョブは次のいずれかの展開モードで実行できます。
  1. YARN クラスタ モード
  2. YARN クライアント モード
  3. Spark クライアント モード
重要: Spectrum サーバーをクラスタ環境にインストールして実行している場合は、YARN または Spark クライアント モードで実行することを推奨します。
フィールド 説明
ジョブ名 Spark ジョブの名前。
Hadoop サーバー 設定された Hadoop サーバーのリスト。

Management Console から HDFS ファイル サーバーをマッピングする方法については、『管理ガイド』を参照してください。

Jar パス 実行する Spark ジョブに関連する JAR ファイルのパス。
注: Jar パスは、Spectrum サーバー コンピュータ上のディレクトリを指している必要があります。
ジョブの種類 次のいずれかを選択します。
Spectrum
Spectrum Big Data Quality SDK ジョブのいずれか 1 つを実行するには、[Spectrum] を選択します。

[Spectrum] を選択すると、[Spectrum ジョブ] フィールドが表示されます。

汎用
いずれかの外部ジョブの追加のジョブ プロパティを指定するには、[汎用] を選択します。
Spectrum ジョブ Spectrum Big Data Quality SDK ジョブの一覧から Spectrum ジョブを 1 つ選択します。
必要な Spectrum ジョブを選択すると、次のようになります。
  1. [ジョブ名][クラス名][引数] の各フィールドは自動的に設定されます。

    [クラス名] フィールドを除き、自動設定されたフィールドはすべて、必要に応じて編集できます。

    重要: 選択した Spectrum ジョブに対し、自動設定された [クラス名] を編集してはいけません。変更すると、ジョブは実行できません。
  2. [プロパティ] グリッドには、選択した Spectrum ジョブの必須設定プロパティがデフォルト値とともに自動的に設定されます。

    必要に応じて、他のプロパティを追加またはインポートしたり、自動設定されたプロパティを変更したりできます。

クラス名 ジョブのドライバ クラスの完全修飾名。
引数 スペースで区切られた引数のリスト。これらは実行時にドライバ クラスに渡されて、ジョブの実行に使用されます。

例を次に示します。

23Dec2016 /home/Hadoop/EYInc.txt
  1. これらの変数を引数として渡すことができます。ソース ステージまたはプロセス フローの現在のステージで実行時の値を受け取るように、引数を定義します。

    例えば、プロセス フローの前ステージの出力で変数 SalesStartRangeが定義されていれば、次のように指定して、この変数を ${SalesStartRange} として他の必要な変数と共に含めることができます。

    23Dec2016 /home/Hadoop/EYInc.txt ${SalesStartRange}
  2. 引数名にスペースが含まれる場合は、変数全体を二重引用符で囲みます。例えば、 "/home/Hadoop/Sales Records"です。

Spectrum Big Data Quality SDK ジョブ - 引数:

Spectrum Big Data Quality SDK Spark ジョブを実行するには、各種設定ファイルを引数リストとして渡します。各引数キーに、1 つの設定プロパティ ファイルのパスが指定できます。各ファイルには、複数の設定プロパティが含まれます。

設定プロパティの引数リストの構文は以下のとおりです。

[-config <Path to configuration file>] [-debug] [-input <Path to input configuration file>] [-conf <Path to Spark configuration file>] [-output <Path of output directory>]

例えば、Spark MatchKeyGenerator ジョブの場合は次のようになります。

-config /home/hadoop/spark/matchkey/matchKeyGeneratorConfig.xml -input /home/hadoop/spark/matchkey/inputFileConfig.xml -output /home/hadoop/spark/matchkey/outputFileConfig.xml
注: 同じ設定プロパティ キーが [引数] フィールドと [プロパティ] グリッドの両方で指定されており、両者が異なる設定ファイルを参照している場合は、[プロパティ] グリッドで指定されているファイルがこのプロパティに対して適用されます。

設定プロパティのサンプルは、Big Data Quality SDK に付属しており、<Big Data Quality bundle>\samples\configurationにあります。

一般プロパティ

フィールド 説明
マスター Spark ジョブの実行に適用されるオプションを選択します。
YARN
Spark ジョブの起動と管理に YARN を使用します。
Spark
Spark ジョブの起動と管理に Spark アプリケーションを使用します。
Spark URL Spark クラスタにアクセスするための URL で、フォーマットは <hostname of Spark cluster>:<port of Spark cluster>です。

このフィールドは、[マスター] フィールドで [Spark] を選択すると表示されます。

展開モード 次のオプションのいずれかを選択します。
クライアント
Spark ジョブ ドライバをクライアント Spectrum™ Technology Platformで実行する場合。
Cluster
Spark ジョブ ドライバをクラスタで実行する場合。
プロパティ グリッド内の [プロパティ] 列にプロパティの名前を入力し、[値] 列にそのプロパティの値を入力します。

[マスター][展開モード] のタイプによって、特定のプロパティが必須です。

YARN の必須プロパティ  
yarn.resourcemanager.hostname YARN ResourceManager の IP アドレス。
yarn.resourcemanager.address YARN ResourceManager の IP アドレスとポートは、<ホスト名>:<ポート> 形式で指定します。
クライアント展開モードのプロパティ    
Spark.driver.host Spark ドライバを実行するコンピュータの IP アドレス。 必須
spark.client.mode.temp.location Universal Addressing ジョブに使用される Spectrum サーバー上の tempフォルダのパス:
  • Validate Address
  • Validate Address Global
  • Validate Address Loqate
注: このプロパティを Universal Addressing ジョブに使用して、指定された tempフォルダが中間結果用に使用されるようにすることを強く推奨します。
オプション
要約すると、
  1. YARN クラスタ モード: 最初の 2 つのプロパティが必須。
  2. YARN クライアント モード: 3 つのプロパティがすべて必須。
  3. SPARK クライアント モード: 3 つ目のプロパティが必須。
注: 上記の必須プロパティは、Management Console で接続を作成するときに定義するか、この Spark アクティビティを使用して定義することができます。同じプロパティが Management Console と Spark Job アクティビティの両方で定義された場合、Spark アクティビティで割り当てられた値が使用されます。
これらの必須プロパティのほかに、ジョブの実行に必要なプロパティをいくつでも入力またはインポートすることができます。
インポート プロパティをファイルからインポートする場合は、[インポート] をクリックします。各プロパティ ファイルの場所に移動し、XML 形式のファイルを選択します。インポートされたファイルに含まれるプロパティが、[プロパティ] グリッドにコピーされます。
注:
  1. 同じプロパティがこの場所と Management Console で定義されている場合、この場所で定義された値が Management Console で定義された値に優先します。
  2. プロパティ ファイルは XML 形式で、次の構文に従う必要があります。
    <configuration>
        <property>
            <name>key</name>
            <value>some_value</value>
            <description>A brief description of the 
              purpose of the property key.</description>
        </property>
    </configuration>
    上記の XML 形式を使用して、独自のプロパティ ファイルを作成します。
  3. 同じプロパティがグリッド内とインポートされたプロパティ ファイル内にある場合は、ファイルからインポートされた値がグリッド内の同じプロパティの既存の値を上書きします。
  4. 必要であれば、複数のプロパティ ファイルを 1 つずつインポートすることができます。インポートされた各ファイルからプロパティがグリッドに追加されます。
  5. プロパティ ファイルが Spectrum™ Technology Platformサーバー上に存在することを確認してください。
  6. <description>タグは、設定プロパティ ファイル内の各プロパティ キーに対して省略可能です。

依存関係

このタブでは、ジョブの実行に必要な一連の入力ファイルと Jar ファイルを追加します。

ジョブの実行が終わると、ここで追加した参照ファイルと参照 Jar ファイルが、ジョブの分散キャッシュから使用できるようになります。

参照ファイル
ジョブの実行に必要な各種のファイルを追加するには、[追加] をクリックし、ローカル システムまたはクラスタ上のそれぞれの場所に移動し、特定のファイルを選択します。

リストに追加したファイルを削除するには、そのファイルを選択し、[削除] をクリックします。

参照 Jar
ジョブの実行に必要な Jar ファイルを追加するには、[追加] をクリックし、ローカル システムまたはクラスタ上のそれぞれの場所に移動し、特定の Jar ファイルを選択します。

リストに追加したファイルを削除するには、そのファイルを選択し、[削除] をクリックします。

注: Jar パスは、Spectrum サーバー コンピュータ上のディレクトリを指している必要があります。