Spark UniversalでCloudera接続パラメーターを定義
このタスクについて
Talend StudioはClouderaクラスターに接続して、そのクラスターからジョブを実行します。
手順
- デザインワークスペースの下にある[Run] (実行)ビューをクリックした後に、[Spark configuration] (Spark設定)ビューをクリックします。
-
[Property type] (プロパティタイプ)ドロップダウンリストから[Built-in] (組み込み)を選択します。
Hadoop接続を一元管理で説明されているとおり、既に[Repository] (リポジトリー)で接続パラメーターが設定されている場合は簡単に再利用できます。再利用するためには、[Property type] (プロパティタイプ)ドロップダウンリストから[Repository] (リポジトリー)を選択し、[...]ボタンをクリックし、[Repository Content] (リポジトリーコンテンツ)ダイアログボックスを開いて、使用するHadoop接続を選択します。情報メモヒント: [Repository] (リポジトリー)で接続を設定すると、ジョブの[Spark configuration] (Spark設定)ビューで必要になるたびにその接続を設定しなくても済みます。フィールドが自動的に入力されます。
-
[Distribution] (ディストリビューション)ドロップダウンリストからUniversalを、[Version] (バージョン)ドロップダウンリストからSparkバージョンを、[Runtime mode/environment] (ランタイムモード/環境)ドロップダウンリストからClouderaをそれぞれ選択します。
Clouderaモードでは、Spark 3.xバージョンのみがサポートされています。
-
使いたいClouderaクラスターの接続パラメーターを追加するHadoop設定JARファイルへのパスを指定します。JARファイルには、クラスターの全*-site.xmlファイルへの接続の確立に必要な情報がすべて含まれています。
[Spark Configuration] (Spark設定)ビューが開かれ、カスタムのHadoop設定JARファイルへのパスが
強調表示されている状態。
このJARファイルには次のXMLファイルが必要です。- hdfs-site.xml
- core-site.xml
- yarn-site.xml
- mapred-site.xml
HiveコンポーネントやHBaseコンポーネントを使用する場合は、JARファイルに次のXMLファイルを追加する必要があります。- hive-site.xml
- hbase-site.xml
-
WindowsからSparkジョブを起動する必要がある場合は、使用されるwinutils.exeプログラムの保管場所を指定します。
-
使用するwinutils.exeファイルの保管場所がわかっている場合、[Define the Hadoop home directory] (Hadoopホームディレクトリーの指定)チェックボックスをオンにし、winutils.exeが保存されているディレクトリーを入力します。
-
逆に、[Define the Hadoop home directory] (Hadoopホームディレクトリーの指定)チェックボックスをオフにすると、Talend Studioによってディレクトリーが作成され、このジョブで自動的に使用されます。
-
-
設定の基本情報を入力します:
パラメーター 使用方法 [Use local timezone] (ローカルタイムゾーンを使用) このチェックボックスを選択すると、Sparkはシステムで指定されているローカルタイムゾーンを使用します。 情報メモ注:- このチェックボックスをオフにすると、SparkはUTCタイムゾーンを使用します。
- コンポーネントによっては[Use local timezone for date] (日付にローカルタイムゾーンを使用)チェックボックスもあります。コンポーネントのチェックボックスをオフにすると、Spark設定からのタイムゾーンが継承されます。
[Use dataset API in migrated components] (移行したコンポーネントでデータセットAPIを使用) このチェックボックスを選択し、コンポーネントにResilient Distribued Dataset (RDD) APIの代わりにDataset (DS) APIを使用させます: - チェックボックスを選択する場合は、ジョブ内のコンポーネントは、DSで実行されて、パフォーマンスが向上します。
- チェックボックスをオフにする場合は、ジョブ内のコンポーネントはRDDで実行されて、変更されていない状態のままです。これにより、下位互換性が保証されます。
このチェックボックスはデフォルトで選択されていますが、7.3以降のジョブをインポートした場合、これらのジョブはRDDで実行されるため、チェックボックスはクリアされます。
情報メモ重要: ジョブにtDeltaLakeInputコンポーネントとtDeltaLakeOutputコンポーネントが含まれている場合は、このチェックボックスを選択する必要があります。[Use timestamp for dataset components] (データセットコンポーネントにタイムスタンプを使用) このチェックボックスを選択すると、日付でjava.sql.Timestamp使われます。 情報メモ注: このチェックボックスをオフのままにしておくと、パターンに応じてjava.sql.Timestampかjava.sql.Dateが使われます。[Use custom classpath] (カスタムクラスパスを使用) このチェックボックスを選択すると、カスタムクラスパスを指定できます。これにより、ジョブの実行時やコンパイル時に、追加または代替のJavaライブラリーが使用可能になります。 [Parallelize output files writing] (出力ファイルの書き込みを並列化) このチェックボックスを選択すると、Sparkバッチジョブが出力ファイルの書き込み時に複数のスレッドを並行して実行できるようになります。このオプションによって実行時間のパフォーマンスが改善されます。 このチェックボックスがオフのままになっていると、出力ファイルは1つのスレッド内で順次書き込まれます。
サブジョブレベルでは、各サブジョブが順次処理されます。サブジョブ内の出力ファイルのみが並列化されます。
このオプションは、次の出力コンポーネントが含まれているSparkバッチジョブでのみ使用できます:- tAvroOutput
- tFileOutputDelimited ([Use dataset API in migrated components] (移行したコンポーネントでデータセットAPIを使用)チェックボックスが選択されている場合のみ)
- tFileOutputParquet
情報メモ重要: ジョブ実行中のメモリに関する問題を避けるため、このパラメーターを使用する前に、書き込まれるファイルのサイズと実行環境の容量を考慮する必要があります。 -
Kerberosセキュリティを実行しているHadoopディストリビューションにアクセスする場合は、[Use Kerberos authentication] (Kerberos認証を使用)チェックボックスをオンにします。
Keytabファイルを使ってログインする場合は、使用するプリンシパルを[Principal] (プリンシパル)フィールドに入力し、使用するKeytabファイルへのパスをKeytabフィールドで参照します。
-
[Set tuning properties] (チューニングプロパティを設定)チェックボックスを選択し、Apache Spark Batchジョブ用にSparkを調整の説明に従ってチューニングパラメーターを定義します。
情報メモ重要: チューニングパラメーターを設定しない場合、エラー(400 - Bad request)が発生する可能性があります。
-
[Enable spark event logging] (Sparkイベントロギングを有効化)チェックボックスを選択すると、ファイルシステムでジョブのSparkアプリケーションログが永続化されます。
Sparkログに関わるパラメーターが表示されます。
- [Compress Spark event logs] (Sparkイベントログを圧縮): このチェックボックスを選択すると、ログが圧縮されます。
- [Spark event logs directory] (Sparkイベントログディレクトリー): Sparkイベントを記録するディレクトリーを入力します。
- [Spark history server address] (Sparkヒストリーサーバーアドレス): 履歴サーバーの場所を入力します。
クラスターの管理者によってこれらのプロパティがクラスター設定ファイル内で定義されている場合があるので、管理者に正確な値を問い合わせることをお勧めします。
- [Spark "scratch" directory] (Spark "scratch"ディレクトリー)フィールドに、Talend Studioが一時ファイル(転送するjarファイルなど)をローカルシステムに保存するディレクトリーを入力します。Windowsでジョブを起動する場合、デフォルトのディスクはC:です。このフィールドを/tmpのままにすると、このディレクトリーはC:/tmpになります。
- [Wait for the Job to complete] (ジョブの終了を待機)チェックボックスをオンにしてTalend Studio、またはTalend JobServerを使用している場合はジョブJVMで、ジョブの実行完了までジョブの監視を続けます。このチェックボックスを選択すると、spark.yarn.submit.waitAppCompletionプロパティをtrueに設定したことになります。通常はSpark Batchジョブの実行時にこのチェックボックスを選択すると便利ですが、Spark Streamingジョブを実行する場合はチェックボックスをオフにしたほうが賢明です。
-
ジョブを耐障害性にする必要がある場合は、[Activate checkpointing] (チェックポイントを有効化)チェックボックスをオンにしてSparkチェックポイントオペレーションを有効にします。
[Checkpoint directory] (チェックポイントディレクトリー)フィールドのクラスターのファイルシステム内に、Sparkが保存するディレクトリー、計算のコンテキストデータ(メタデータやなど)、その計算から生成されたRDDを入力します。
- [Advanced properties] (詳細プロパティ)テーブルに、Talend Studioによって使用されるデフォルトのプロパティをオーバーライドするために必要なSparkプロパティを追加します。