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

Spark Streaming

Version
7.3
Language
日本語
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > ジョブデザイン > ジョブフレームワーク > Spark Streaming
Last publication date
2024-02-22

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

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

このセクションの情報は、Talend Data Fabric、またはビッグデータ関連のTalend製品のいずれかにサブスクライブしているユーザーのみが対象です。

重要: 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の基本的なストレージ情報を入力します。
    [Storage] (ストレージ) ドロップダウンリストで使用するストレージを選択します。

    ADLS Gen2は、Azure Synapse Analyticsワークスペースのデフォルトストレージです。

    [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ワークスペースにリンクしているストレージアカウント名を入力します。
    [Password] (パスワード) Azure Synapseワークスペースにリンクしているアクセスキーを入力します。

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

    [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、またはTalendJobServerを使用している場合はジョブJVMで、ジョブの実行完了までジョブの監視を続けます。このチェックボックスをオンにすると、spark.yarn.submit.waitAppCompletionプロパティをtrueに設定したことになります。通常はSpark Batchジョブの実行時にこのチェックボックスをオンにすると便利ですが、Spark Streamingジョブを実行する場合はチェックボックスをオフにしたほうが賢明です。

タスクの結果

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