Spark UniversalでSpark-submitスクリプト接続パラメーターを定義
Spark-submitスクリプトモードでは、HPE Ezmeral Data Fabric v9.1.xクラスターを活用してSparkバッチジョブを実行できます。
HPE Data Fabricの詳細は、ドキュメンテーションをご覧ください。
このモードはHPE Data Fabric以外のクラスターでも使用できます。Sparkのドキュメンテーションのcluster managersで説明されているとおり、これはSparkがサポートしているどのクラスタマネージャーで動作するようSpark-submitスクリプトがデザインされているためです。
手順
- デザインワークスペースの下にある[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] (ランタイムモード/環境)ドロップダウンリストから[Spark-submit scripts] (Spark-submitスクリプト)をそれぞれ選択します。
- Spark-submitスクリプトが保存されているクラスターのディレクトリーへのパス(/opt/mapr/spark/spark-3.3.2など)を指定します。
-
WindowsでSparkジョブを実行する場合は、winutils.exeプログラムの場所を指定します:
- 自分のwinutils.exeファイルを使用する場合は、[Define the Hadoop home directory] (Hadoop ホームディレクトリーを定義) チェックボックスをオンにし、そのフォルダーパスを入力します。
- 逆に、[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が使われます。[Batch size (ms)] (バッチサイズ(ミリ秒)) Spark Streamingジョブがソースデータをレビューして変更を特定し、新しいマイクロバッチを処理するまでの時間間隔を入力します。 [Define a streaming timeout (ms)] (ストリーミングタイムアウトを設定(ミリ秒)) このチェックボックスをオンにし、表示されたフィールドにSpark Streamingジョブが自動的に実行を停止するまでの期間を入力します。 情報メモ注: Windows 10をお使いの場合は、Javaアプリケーションから終了シグナルを送信する際にWindows Service Wrapperに問題が発生しないよう、合理的なタイムアウトを設定することをお勧めします。このような問題が発生した場合、Azure Synapseワークスペースからジョブを手動でもキャンセルできます。[Parallelize output files writing] (出力ファイルの書き込みを並列化) このチェックボックスをオンにすると、Sparkバッチジョブが出力ファイルの書き込み時に複数のスレッドを並行して実行できるようになります。このオプションによって実行時間のパフォーマンスが改善されます。 このチェックボックスがオフのままになっていると、出力ファイルは1つのスレッドで順次書き込まれます。
サブジョブレベルでは、各サブジョブが順次処理されます。サブジョブ内の出力ファイルのみが並列化されます。
このオプションは、次の出力コンポーネントが含まれているSparkバッチジョブでのみ使用できます:- tAvroOutput
- tFileOutputDelimited ([Use dataset API in migrated components] (移行したコンポーネントでデータセットAPIを使用)チェックボックスが選択されている場合のみ)
- tFileOutputParquet
情報メモ重要: ジョブ実行中のメモリに関する問題を避けるため、このパラメーターを使用する前に、書き込まれるファイルのサイズと実行環境の容量を考慮する必要があります。 - ユーザー名を指定して認証情報を入力します。[Use Kerberos authentication] (Kerberos認証を使用)チェックボックスをオンにしてKerberos認証を使用することもできます。
- オプション:
MapR Ticketを使用して認証する場合は、[Use MapR Ticket authentication] (MapRチケット認証を使用)チェックボックスをオンにし、以下の情報を入力します:
パラメーター 使用方法 [Password] (パスワード) パスワードを入力してMapRチケットを認証します。 [Cluster name] (クラスター名) 使用したいクラスターの名前を入力します。 [Ticket duration] (チケットの有効期間) チケットの有効期間(秒単位)を入力します。例: 86400L(Lは長整数に相当) [Set the MapR home directory] (MapRホームディレクトリーを設定) このチェックボックスをオンにして、MapRホームディレクトリーのパスを入力します。 [Specify the Hadoop login configuration] (Hadoopログイン設定を指定) このチェックボックスをオンにして、Hadoopログインを入力します。 -
[Set tuning properties] (チューニングプロパティを設定)チェックボックスをオンにし、Apache Spark Batchジョブ用にSparkを調整の説明に従ってチューニングパラメーターを定義します。
情報メモ重要: チューニングパラメーターを設定しない場合、エラー(400 - Bad request)が発生する可能性があります。
-
[Spark "scratch" directory] (Spark "scratch"ディレクトリー)フィールドに、Talend Studioが一時ファイルを保存するローカルパス(転送するJARなど)を入力します。
Windowsでジョブを実行する場合、デフォルトのディスクはC:です。このフィールドに/tmpを残すと、C:/tmpがディレクトリーとして使用されます。
-
ジョブを耐障害性にする場合は、[Activate checkpointing] (チェックポイントを有効化)をオンにしてSparkのチェックポイント操作を有効にします。
[Checkpoint directory] (チェックポイントディレクトリー)フィールドには、Sparkがコンテキストデータ(メタデータや生成されたRDDなど)を保存するクラスターファイルシステムのパスを入力します。
- [Advanced properties] (詳細プロパティ)テーブルに、Talend Studioによって設定されたデフォルトをオーバーライドしたいSparkプロパティを追加します。
-
データ来歴を追跡し、Sparkジョブのコンポーネントを表示させ、コンポーネント間のスキーマ変更を追跡する場合は、[Use Atlas] (アトラスを使用) チェックボックスをオンにします。
このオプションはSpark Universal 3.3.xでのみ使用可能です。
このオプションを有効にしたら、以下のパラメーターを設定する必要があります。
-
Atlas URL: Atlasインスタンスのアドレス(http://name_of_your_atlas_node:portなど)を入力します。
-
[Username] (ユーザー名)および[Password] (パスワード)フィールドに、Atlasにアクセスするための認証情報を入力します。
-
[Set Atlas configuration folder] (Atlas設定フォルダーを指定): AtlasクラスターがSSLや読み取りタイムアウトなどのカスタムプロパティを使用している場合は、このチェックボックスをオンにします。表示されるフィールドに、atlas-application.propertiesファイルが含まれているローカルディレクトリーへのパスを入力します。その後、ジョブはこれらのカスタムプロパティを使用するようになります。
この設定ファイルについては、クラスターの管理者に依頼してください。詳細は、[Atlas configuration] (Atlas設定)でクライアント設定セクションをご覧ください。
-
[Die on error] (エラー発生時に強制終了): このチェックボックスをオンにすると、Atlas関連の問題(接続エラーなど)が発生した場合にジョブの実行を停止します。クリアすると、ジョブが実行し続けるようになります。
-