Spark UniversalでHDInsight接続パラメーターを定義
Spark Batchジョブの[Run] (実行)ビューの[Spark configuration] (Spark設定)タブで、Spark Universalを使ってHDInsight接続設定を完成させます。この設定はジョブごとに有効です。
手順
-
HDInsightに接続するための基本的な設定情報を入力します:
- [Username] (ユーザー名): HDInsightクラスターのユーザー名を入力します。
- [Password] (パスワード): HDInsightクラスターのパスワードを入力します。
-
Livy用の基本的な設定情報を入力します:
- [Hostname] (ホスト名): HDInsightクラスターのURLを入力します。
- [Port] (ポート): ポート番号を入力します。デフォルト値は443です。
- [Username] (ユーザー名): クラスターの作成時に定義したユーザー名を入力します。これは、クラスターの[SSH + Cluster] (SSH + クラスター)ログインブレードで確認できます。
-
ジョブステータスポーリングの設定を入力:
- [Poll interval when retrieving Job status (in ms)] (ジョブステータスを取得する時のポーリング間隔(ミリ秒)): Talend StudioがジョブのステータスをSparkに要求する時間間隔(ミリ秒)を入力します。
- [Maximum number of consecutive statuses missing] (見つからないステータスの最大連続回数): ステータスの応答がない場合に、Talend Studioがステータス取得を再試行する最大回数を入力します。
-
Windows Azure Storageの構成情報を入力します:
パラメーター 使用方法 [Primary storage] (プライマリーストレージ) ジョブをデプロイするストレージのタイプをドロップダウンリストから選択します: - ADLS Gen2
- Azure Storage
[Authentication mode] (認証モード) 使用する認証タイプをドロップダウンリストから選択します: - Azure Active Directory
- シークレットキー
[Hostname] (ホスト名) Azure StorageアカウントのプライマリーBlobサービスエンドポイントを入力します。このエンドポイントは、ストレージアカウントの[Properties] (プロパティ)ブレードにあります。 [Container] (コンテナー) 使用するコンテナーの名前を入力します。利用可能なコンテナーは、使用するAzure StorageアカウントのBlobブレードで確認できます。 [Directory ID] (ディレクトリーID) ディレクトリーIDを入力します。 [Application ID] (アプリケーションID) アプリケーションIDを入力します。 [Client key] (クライアントキー) クライアントキーを入力します。 [Deployment Blob] (デプロイメントBlob) ストレージアカウントで、現在のジョブとその依存ライブラリーを保存する場所を入力します。 -
設定の基本情報を入力します:
パラメーター 使用方法 [Define the hadoop home directory] (Hadoopホームディレクトリーを指定) 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を使用させます: - チェックボックスをオンにした場合、Spark Batchジョブ内のコンポーネントは、DSで実行され、パフォーマンスが改善されます。
- チェックボックスをオフにした場合、Spark Batchジョブ内のコンポーネントはRDDで実行され、変更されません。これにより、下位互換性が保証されます。
このチェックボックスはデフォルトで選択されていますが、7.3以降のジョブをインポートした場合、これらのジョブはRDDで実行されるため、チェックボックスはクリアされます。
情報メモ重要: Spark BatchジョブがtDeltaLakeInputコンポーネントおよびtDeltaLakeOutputコンポーネントを含んでいる場合、このチェックボックスをオンにする必要があります。[Use timestamp for dataset components] (データセットコンポーネントにタイムスタンプを使用) このチェックボックスをオンにすると、日付でjava.sql.Timestamp使われます。 情報メモ注: このチェックボックスをオフのままにしておくと、パターンに応じてjava.sql.Timestampかjava.sql.Dateが使われます。[Parallelize output files writing] (出力ファイルの書き込みを並列化) このチェックボックスを選択すると、Sparkバッチジョブが出力ファイルの書き込み時に複数のスレッドを並行して実行できるようになります。このオプションによって実行時間のパフォーマンスが改善されます。 このチェックボックスがオフのままになっていると、出力ファイルは1つのスレッド内で順次書き込まれます。
サブジョブレベルでは、各サブジョブが順次処理されます。サブジョブ内の出力ファイルのみが並列化されます。
このオプションは、次の出力コンポーネントが含まれているSparkバッチジョブでのみ使用できます:- tAvroOutput
- tFileOutputDelimited ([Use dataset API in migrated components] (移行したコンポーネントでデータセットAPIを使用)チェックボックスが選択されている場合のみ)
- tファイルOutputParquet
情報メモ重要: ジョブ実行中のメモリに関する問題を避けるため、このパラメーターを使用する前に、書き込まれるファイルのサイズと実行環境の容量を考慮する必要があります。 -
[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プロパティを追加します。