Azure Synapse Analyticsの接続パラメーターを定義 - Cloud - 8.0

Spark Batch

Version
Cloud
8.0
Language
日本語 (日本)
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Open Studio for Big Data
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > ジョブデザイン > ジョブフレームワーク > Sparkバッチ

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

このタイプのクラスターでは、Yarnクラスターモードしか使用できません。

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

重要: Sparkプールlは、Talend StudioのSparkジョブでサポートされているAzure Synapse Analyticsの唯一のサービスです。

始める前に

SynapseワークスペースとApache Sparkプールが設定済みであること。詳細は、Microsoftの公式ドキュメンテーションでCreating a Synapse workspaceCreate a new serverless Apache Spark pool using the Azure portalをご覧ください。

このタスクについて

手順

  1. Azure Synapseへの接続に使う基本的な設定情報を入力します。
    [Endpoint] (エンドポイント) Azure SynpaseのアカウントからDevelopment endpointを入力します。これはAzure SynapseワークスペースのOverviewセクションにあります。
    [Authorization token] (認証トークン) Azure Synapseアカウント用に生成されたトークンを入力します。
    注: トークンを生成する場合は次のコマンドを入力する必要があります:curl -X post -H "Content-Type: application/x-www-form-urlencoded" -d 'client_id=<YourClientID>&scope=https://dev.azuresynapse.net/.default&client_secret=<YourClientSecret>&grant_type=client_credentials' 'https://login.microsoftonline.com/<YourTenantID>/oauth2/v2.0/token'

    クライアントID、クライアントシークレット、テナントIDはAzureポータルから取得できます。

    Azure Synapseへの認証はAzure Active Directoryアプリケーションを介して行われます。Azure Active Directoryへの登録方法に関する詳細は、Microsoftの公式ドキュメンテーションでUse the portal to create an Azure AD application and service principal that can access resourcesをご覧ください。

    重要: このトークンの有効期間は1時間のみです。1時間が経過しても新しいトークンがを再生成されない場合、エラー(401 - Not authorized)が発生する可能性があります。
    [Apache Spark pools] (Apache Sparkプール) 使用するApache Sparkプールの名前を二重引用符で囲んで入力します。
    注: Azure Synapseワークスペースで次の点を確認します:
    • Apache Sparkプールの作成時に、[Basic settings] (基本設定)の[Autoscale] (自動スケーリング)オプションと[Additional settings] (追加設定)の[Automatic pausing] (自動一時停止)オプションが有効になっていること。
    • 選択されたApache Sparkバージョンが3.0 (preview)に設定されていること。
    [Poll interval when retrieving Job status (in ms)] (ジョブステータスを取得する時のポーリング間隔(ミリ秒)) StudioがジョブのステータスをSparkに要求する間隔(ミリ秒)を引用符なしで入力します。

    デフォルト値は、30秒に相当する3000です。

    [Maximum number of consecutive statuses missing] (見つからないステータスの最大連続回数) ステータスの応答がない場合にStudioがステータス取得のために再試行する最大回数を入力します。

    デフォルト値は10です。

  2. Azure Synapseの基本的なストレージ情報を入力します。
    [Authentication method] (認証方式) 使用する認証モードをドロップダウンリストから選択します。
    • [Secret Key] (シークレットキー)
    • Azure Active Directory
    [Storage] (ストレージ) ドロップダウンリストで使用するストレージを選択します。

    ADLS Gen2は、Azure Synapse Analyticsワークスペースのデフォルトストレージです。Azure Active Directory認証を使用する際に、アプリケーションにStorage Blob Data Contributionというロールが付与され、ADLS Gen2にリンクされていることを確認します。

    [Hostname] (ホスト名) Azure Synapseアカウントから[Primary ADLS Gen2 account] (Primary ADLS Gen2アカウント)を入力します。これはAzure SynapseワークスペースのOverviewセクションにあります。
    [Container] (コンテナー) Azure Synapseアカウントから[Primary ADLS Gen2 file storage] (Primary ADLS Gen2ファイルストレージ)を入力します。これはAzure SynapseワークスペースのOverviewセクションにあります。
    [Username] (ユーザー名) Azure Synapseワークスペースにリンクしているストレージアカウント名を入力します。

    このプロパティは、[Authentication method] (認証方法)ドロップダウンリストから[Secret Key] (シークレットキー)を選択した場合のみ利用できます。

    [Password] (パスワード) Azure Synapseワークスペースにリンクしているアクセスキーを入力します。

    アクセスキーの取得方法に関する詳細は、Microsoftの公式ドキュメンテーションでView account access keysをご覧ください。

    このプロパティは、[Authentication method] (認証方法)ドロップダウンリストから[Secret Key] (シークレットキー)を選択した場合のみ利用できます。

    [Directory ID] (ディレクトリーID) Azure Active DirectoryアプリケーションにリンクされているディレクトリーIDを入力します。IDは、お使いのAzureポータルのAzure Active Directory > [Overview] (概要)タブから取得できます。

    このプロパティは、[Authentication method] (認証方法)ドロップダウンリストからAzure Active Directoryを選択した場合のみ利用できます。

    [Application ID] (アプリケーションID) Azure Active DirectoryアプリケーションにリンクされているアプリケーションIDを入力します。IDは、お使いのAzureポータルのAzure Active Directory > [Overview] (概要)タブから取得できます。

    このプロパティは、[Authentication method] (認証方法)ドロップダウンリストからAzure Active Directoryを選択した場合のみ利用できます。

    [Use certificate to authenticate] (認証に証明書を使用) 証明書を使い、Azure Active Directoryアプリケーションに対して認証を行う場合は、このチェック ボックスをオンにし、証明書が保存されている場所を[Path to certificate] ([証明書へのパス)フィールドに入力します。

    Make sure you upload the certificate in the Certificates & secrets > Certificates section of your Azure Active Directory application. 証明書の詳細は、 Microsoftの公式ドキュメンテーションをご覧ください。

    このプロパティは、[Authentication method] (認証方法)ドロップダウンリストからAzure Active Directoryを選択した場合のみ利用できます。

    [Client key] (クライアントキー) Azure Active Directoryアプリケーションにリンクされているクライアントキーを入力します。クライアントキーは、お使いのAzureポータルの[Certificates & secrets] (証明書とシークレット)タブから生成できます。

    このプロパティは、[Authentication method] (認証方法)ドロップダウンリストからAzure Active Directoryを選択し、[Use certificate to authenticate] (認証に証明書を使用)チェック ボックスをオフにした場合のみ利用できます。

    [Deployment Blob] (デプロイメントBlob) お使いのストレージで、現在のジョブとその依存ライブラリーを保存する場所を入力します。
  3. 基本的な設定情報を入力します:
    [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で実行され、変更されません。これにより、下位互換性が保証されます。
    重要: Spark BatchジョブがtDeltaLakeInputコンポーネントおよびtDeltaLakeOutputコンポーネントを含んでいる場合、このチェックボックスをオンにする必要があります。
    注: 7.3で新しく作成されたSpark BatchジョブはDSを使用し、7.3以前のバージョンからインポートされたSpark BatchジョブはデフォルトでRDDを使用します。しかし、すべてのコンポーネントがRDDからDSに移行されないため、デフォルトでエラーを避けるには、チェックボックスをオフにすることをお勧めします。
    [Use timestamp for dataset components] (データセットコンポーネントにタイムスタンプを使用) このチェックボックスをオンにすると、日付でjava.sql.Timestamp使われます。
    注: このチェックボックスをオフのままにしておくと、パターンに応じてjava.sql.Timestampjava.sql.Dateが使われます。
    [Batch size (ms)] (バッチサイズ(ミリ秒)) Spark Streamingジョブがソースデータをレビューして変更を特定し、新しいマイクロバッチを処理するまでの時間間隔を入力します。
    [Define a streaming timeout (ms)] (ストリーミングタイムアウトを設定(ミリ秒)) このチェックボックスをオンにし、表示されたフィールドにSpark Streamingジョブが自動的に実行を停止するまでの期間を入力します。
    注: Windows 10をお使いの場合は、Javaアプリケーションから終了シグナルを送信する際にWindows Service Wrapperに問題が発生しないよう、合理的なタイムアウトを設定することをお勧めします。このような問題が発生した場合、Azure Synapseワークスペースからジョブを手動でもキャンセルできます。
  4. [Set tuning properties](チューニングプロパティの設定)チェックボックスを選択し、次のトピックの説明に従ってチューニングパラメーターを定義します。
    重要: チューニングパラメーターを設定しない場合、エラー(400 - Bad request)が発生する可能性があります。
  5. [Spark "scratch" directory] (Spark "scratch"ディレクトリー)フィールドに、Studioが一時ファイル(転送するjarファイルなど)をローカルシステムに保存するディレクトリーを入力します。Windowsでジョブを起動する場合、デフォルトのディスクはC:です。このフィールドを/tmpのままにすると、このディレクトリーはC:/tmpになります。
  6. [Wait for the Job to complete] (ジョブの終了を待機)チェックボックスをオンにしてStudio、またはTalendジョブサーバーを使用している場合はジョブJVMで、ジョブの実行完了までジョブの監視を続けます。このチェックボックスをオンにすると、spark.yarn.submit.waitAppCompletionプロパティをtrueに設定したことになります。通常はSpark Batchジョブの実行時にこのチェックボックスをオンにすると便利ですが、Spark Streamingジョブを実行する場合はチェックボックスをオフにしたほうが賢明です。

タスクの結果

ジョブの実行時に生成されたLivy IDを使って、Azure Synapseワークスペースでジョブの結果を取得できます。