Spark UniversalでKubernetes接続パラメーターを定義
手順
- デザインワークスペースの下にある[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] (ランタイムモード/環境)ドロップダウンリストからKubernetesをそれぞれ選択します。
-
[Kubernetes configuration] (Kubernetes設定)のパラメーターを完成させます:
パラメーター 使用方法 [Kubernetes master] (Kubernetesマスター) APIサーバーアドレスをk8s://https://<k8s-apiserver-host>:<k8s-apiserver-port>という形式で入力します。コマンドラインインターフェイスでkubectl config view --minifyコマンドを使って、取得できます。 [Number of executor instances] (エグゼキューターインスタンスの数) ジョブ実行に使用するエグゼキューターの数を入力します。 [Use registry secret] (レジストリーシークレットを使用) 必要であれば、パスワードを入力してDockerイメージにアクセスします。 [Docker image] (Dockerイメージ) 実行に使用するDockerイメージの名前を入力します。 ネームスペース Dockerクラスターのネームスペースを入力します。 [Service account] (サービスアカウント) 使用するサービスアカウントの名前を入力します。サービスアカウントは、Kubernetesクラスターで十分な権限がある必要があります。 [Cloud storage] (クラウドストレージ) ドロップダウンリストから使いたいクラウドプロバイダーを選択して、対応するフィールドに情報と認証情報を入力します。 [Cloud storage] (クラウドストレージ) > S3 S3へ接続するよう、次のパラメーターを設定します: - [Bucket] (バケット)
- [Path to folder] (フォルダーへのパス)
- [Credentials type] (認証情報のタイプ)
- [Access key] (アクセスキー)
- [Secret key] (シークレットキー)
[Cloud storage] (クラウドストレージ) > Blob Azure Blob Storageへ接続するよう、次のパラメーターを設定します: - [Path to folder] (フォルダーへのパス)
- [Storage account] (ストレージアカウント)
- [Container name] (コンテナー名)
- [Secret key] (シークレットキー)
[Cloud storage] (クラウドストレージ) > Adls gen 2 ADLS Gen 2へ接続するよう、次のパラメーターを設定します: - [Path to folder] (フォルダーへのパス)
- [Storage account] (ストレージアカウント)
- [Credentials type] (認証情報のタイプ)
- [Container name] (コンテナー名)
- [Secret key] (シークレットキー)
-
[Configuration] (設定)の基本情報を入力します:
パラメーター 使用方法 [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が使われます。[Parallelize output files writing] (出力ファイルの書き込みを並列化) このチェックボックスを選択すると、Sparkバッチジョブが出力ファイルの書き込み時に複数のスレッドを並行して実行できるようになります。このオプションによって実行時間のパフォーマンスが改善されます。 このチェックボックスがオフのままになっていると、出力ファイルは1つのスレッド内で順次書き込まれます。
サブジョブレベルでは、各サブジョブが順次処理されます。サブジョブ内の出力ファイルのみが並列化されます。
このオプションは、次の出力コンポーネントが含まれているSparkバッチジョブでのみ使用できます:- tAvroOutput
- tFileOutputDelimited ([Use dataset API in migrated components] (移行したコンポーネントでデータセットAPIを使用)チェックボックスが選択されている場合のみ)
- tファイルOutputParquet
情報メモ重要: ジョブ実行中のメモリに関する問題を避けるため、このパラメーターを使用する前に、書き込まれるファイルのサイズと実行環境の容量を考慮する必要があります。 - [Advanced properties] (詳細プロパティ)テーブルに、Talend Studioによって使用されるデフォルトのプロパティを上書きするために必要なSparkプロパティを追加します。