Spark UniversalでKubernetes接続パラメーターを定義 - Cloud

Talend Cloud Big Data Studio ユーザーガイド

Version
Cloud
Language
日本語 (日本)
EnrichDitaval
Big Data
Product
Talend Cloud
Module
Talend Studio
Content
ジョブデザインと開発

このタスクについて

Sparkジョブの[Run] (実行)ビューの[Spark configuration] (Spark設定)タブで、Spark 3.1.xでのKubernetesとのSpark Universal接続設定を完成させます。この構成はジョブごとに有効です。

このセクションの情報は、Talend Data Fabric またはビッグデータ対応のTalend製品のいずれかにサブスクライブしているユーザーだけを対象とします。また、Talend Open Studio for Big Dataユーザーは対象外です。

手順

  1. デザインワークスペースの下にある[Run] (実行)ビューをクリックした後に、[Spark configuration] (Spark設定)ビューをクリックします。
  2. [Property type] (プロパティタイプ)ドロップダウンリストから[Built-in] (組み込み)を選択します。
    Hadoop接続を一元管理で説明されているとおり、既に[Repository] (リポジトリー)で接続パラメーターが設定されている場合は簡単に再利用できます。再利用するためには、[Property type] (プロパティタイプ)ドロップダウンリストから[Repository] (リポジトリー)を選択し、[...]ボタンをクリックし、[Repository Content] (リポジトリーコンテンツ)ダイアログボックスを開いて、使用するHadoop接続を選択します。
    ヒント: [Repository] (リポジトリー)で接続を設定すると、ジョブの[Spark configuration] (Spark設定)ビューで必要になるたびにその接続を設定しなくても済みます。フィールドが自動的に入力されます。
  3. [Distribution] (ディストリビューション)ドロップダウンリストからUniversalを、[Version] (バージョン)ドロップダウンリストからSpark 3.1.xを、[Runtime mode/environment] (ランタイムモード/環境)ドロップダウンリストからKubernetesを選択します。
  4. [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クラスターのネームスペースを入力します。
    サービスアカウント 使用するサービスアカウントの名前を入力します。サービスアカウントは、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] (シークレットキー)
  5. [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で実行されて、変更されていない状態のままです。これにより、下位互換性が保証されます。
    重要: ジョブにtDeltaLakeInputコンポーネントとtDeltaLakeOutputコンポーネントが含まれている場合は、このチェックボックスを選択する必要があります。
    注: 7.3以降で新しく作成されたジョブはDSを使用し、7.3以前のバージョンからインポートされたジョブはデフォルトでRDDを使用します。しかし、すべてのコンポーネントがRDDからDSに移行されないため、デフォルトでエラーを避けるには、チェックボックスをオフにすることをお勧めします。
    [Use timestamp for dataset components] (データセットコンポーネントにタイムスタンプを使用) このチェックボックスをオンにすると、日付でjava.sql.Timestamp使われます。
    注: このチェックボックスをオフのままにしておくと、パターンに応じてjava.sql.Timestampjava.sql.Dateが使われます。
  6. [Advanced properties] (詳細プロパティ)テーブルに、Studioによって使用されるデフォルトのプロパティを上書きするために必要なSparkプロパティを追加します。

タスクの結果

これでKubernetesクラスターへの接続詳細が完全なものになったので、ジョブの実行をスケジュールしたり、クラスターからすぐに実行できます。