# Spark UniversalでDatabricks接続パラメーターを定義

## このタスクについて

Talend StudioはDatabricksの汎用クラスターに接続し、そのクラスターからジョブを実行します。

## 手順

1. デザインワークスペースの下にある[Run] (実行)ビューをクリックした後に、[Spark configuration] (Spark設定)ビューをクリックします。
2. [Property type] (プロパティタイプ)ドロップダウンリストから[Built-in] (組み込み)を選択します。

   [Hadoop接続を一元管理](https://help.qlik.com/talend/ja-JP/studio-user-guide/8.0-R2025-12/Hadoop接続を一元管理/talend/ja-JP/studio-user-guide/8.0/centralizing-hadoop-connection)で説明されているとおり、既に[Repository] (リポジトリー)で接続パラメーターが設定されている場合は簡単に再利用できます。再利用するためには、[Property type] (プロパティタイプ)ドロップダウンリストから[Repository] (リポジトリー)を選択し、[...]ボタンをクリックし、[Repository Content] (リポジトリーコンテンツ)ダイアログボックスを開いて、使用するHadoop接続を選択します。

   情報メモヒント: [Repository] (リポジトリー)で接続を設定すると、ジョブの[Spark configuration] (Spark設定)ビューで必要になるたびにその接続を設定しなくても済みます。フィールドが自動的に入力されます。
3. [Distribution] (ディストリビューション)ドロップダウンリストからUniversalを、[Version] (バージョン)ドロップダウンリストからSparkバージョンを、[Runtime mode/environment] (ランタイムモード/環境)ドロップダウンリストからDatabricksをそれぞれ選択します。
4. 設定の基本情報を入力します:
   | パラメーター | 使用方法 |
   | --- | --- |
   | [Use local timezone] (ローカルタイムゾーンを使用) | このチェックボックスをオンにすると、Sparkはシステムで指定されているローカルタイムゾーンを使用します。<br><br>情報メモ注:<br><br><ul> <li>このチェックボックスをオフにすると、SparkはUTCタイムゾーンを使用します。</li> <li>コンポーネントによっては<span>[Use local timezone for date] (日付にローカルタイムゾーンを使用)</span>チェックボックスもあります。コンポーネントのチェックボックスをオフにすると、Spark設定からのタイムゾーンが継承されます。</li> </ul> |
   | [Use dataset API in migrated components] (移行したコンポーネントでデータセットAPIを使用) | このチェックボックスをオンにし、コンポーネントにResilient Distribued Dataset (RDD) APIの代わりにDataset (DS) APIを使用させます:<br><br><ul> <li>チェックボックスをオンにする場合は、ジョブ内のコンポーネントは、DSで実行されて、パフォーマンスが向上します。</li> <li>チェックボックスをオフにする場合は、ジョブ内のコンポーネントはRDDで実行されて、変更されていない状態のままです。これにより、下位互換性が保証されます。</li> </ul><br><br>このチェックボックスはデフォルトで選択されていますが、7.3以降のジョブをインポートした場合、これらのジョブはRDDで実行されるため、チェックボックスはクリアされます。<br><br>情報メモ重要: ジョブにtDeltaLakeInputコンポーネントとtDeltaLakeOutputコンポーネントが含まれている場合は、このチェックボックスを選択する必要があります。 |
   | [Use timestamp for dataset components] (データセットコンポーネントにタイムスタンプを使用) | このチェックボックスをオンにすると、日付でjava.sql.Timestamp使われます。<br><br>情報メモ注: このチェックボックスをオフのままにしておくと、パターンに応じてjava.sql.Timestampかjava.sql.Dateが使われます。 |
   | [Batch size (ms)] (バッチサイズ(ミリ秒)) | Spark Streamingジョブがソースデータをレビューして変更を特定し、新しいマイクロバッチを処理するまでの時間間隔を入力します。 |
   | [Define a streaming timeout (ms)] (ストリーミングタイムアウトを設定(ミリ秒)) | このチェックボックスをオンにし、表示されたフィールドにSpark Streamingジョブが自動的に実行を停止するまでの期間を入力します。<br><br>情報メモ注: Windows 10をお使いの場合は、Javaアプリケーションから終了シグナルを送信する際にWindows Service Wrapperに問題が発生しないよう、合理的なタイムアウトを設定することをお勧めします。このような問題が発生した場合、Azure Synapseワークスペースからジョブを手動でもキャンセルできます。 |
   | [Parallelize output files writing] (出力ファイルの書き込みを並列化) | このチェックボックスをオンにすると、Sparkバッチジョブが出力ファイルの書き込み時に複数のスレッドを並行して実行できるようになります。このオプションによって実行時間のパフォーマンスが改善されます。<br><br>このチェックボックスがオフのままになっていると、出力ファイルは1つのスレッドで順次書き込まれます。<br><br>サブジョブレベルでは、各サブジョブが順次処理されます。サブジョブ内の出力ファイルのみが並列化されます。<br><br>このオプションは、次の出力コンポーネントが含まれているSparkバッチジョブでのみ使用できます:<br><br><ul> <li>tAvroOutput</li> <li>tFileOutputDelimited (<span>[Use dataset API in migrated components] (移行したコンポーネントでデータセットAPIを使用)</span>チェックボックスが選択されている場合のみ)</li> <li>tFileOutputParquet</li> </ul><br><br>情報メモ重要: ジョブ実行中のメモリに関する問題を避けるため、このパラメーターを使用する前に、書き込まれるファイルのサイズと実行環境の容量を考慮する必要があります。 |
5. [Databricks configuration] (Databricks設定)のパラメーターを完成させます:
   | パラメーター | 使用方法 |
   | --- | --- |
   | [Cloud provider] (クラウドプロバイダー) | 使用するクラウドプロバイダーとして、AWS、Azure、GCPのいずれかを選択します。 |
   | [Run mode] (実行モード) | Talend Studioでジョブを実行する際に、Databricksクラスターでのジョブの実行に使いたいモードを選択します。[Create and run now] (今すぐ作成して実行)では、Databricksで新しいジョブが作成されてすぐに実行されます。[Runs submit] (実行を送信)では、Databricksでジョブを作成せずに1回限りの実行が送信されます。 |
   | [Enable Unity Catalog] (Unity Catalogを有効化) | Unity Catalogを活用する場合は、このチェックボックスをオンにします。次に、Catalogパラメーター、Schemaパラメーター、VolumeパラメーターでUnity Catalog関連の情報を指定する必要があります。<br><br>情報メモ重要: Talend Studioで使用する前に、認証された全ユーザーに対して許可された権限でパラメーターをすべてDatabricksに作成する必要があります。 |
   | [Use pool] (プールを使用) | Databricksプールを活用する場合はこのチェックボックスをオンにします。チェックボックスをオンにした場合は、[Cluster ID] (クラスターID)ではなく[Pool ID] (プールID)を指定する必要があります。また、[Cluster type] (クラスタータイプ)ドロップダウンリストで[Job clusters] (ジョブクラスター)を選択する必要があります。 |
   | [Endpoint] (エンドポイント) | お使いのワークスペースのURLアドレスを入力します。 |
   | [Cluster ID] (クラスターID) | 使用するDatabricksクラスターのIDを入力します。このIDは、Sparkクラスターのspark.databricks.clusterUsageTags.clusterIdプロパティの値です。このプロパティは、クラスターの[Spark UI]ビューの[Environment] (環境)タブのプロパティリストにあります。 |
   | [Authentication mode] (認証モード) | ドロップダウンリストで、Databricksへの認証方法を選択します。<br><br><ul> <li><span>[Personal access token] (パーソナルアクセストークン)</span>: パーソナルアクセストークン(PAT)で認証を行います。詳細は、Databricksのドキュメンテーションで<a href="https://docs.databricks.com/aws/en/dev-tools/auth/unified-auth" target="_blank">Databricks personal access token authentication</a><span> (英語のみ)</span>をご覧ください。 <p>[<span>認証トークン</span>] に、Databricksユーザーアカウント用に生成された認証トークンを入力します。</p></li> <li><span>OAuth2</span>: OAuth2で認証します。詳細は、Databricksのドキュメンテーションで<a href="https://docs.databricks.com/aws/en/dev-tools/auth/oauth-m2m" target="_blank">Authenticate access to Databricks using OAuth token federation</a><span> (英語のみ)</span>をご覧ください。<p>[<span>クライアントID</span>]と[<span>シークレットID</span>]に、Databricksサービスプリンシパル用に生成されたOAuthクライアント認証情報を入力します。</p></li> </ul> |
   | [Dependencies folder] (依存項目フォルダー) | 実行時にジョブ関連の依存項目をDatabricksファイルシステムへ保存するために使うディレクトリーを入力します。このディレクトリーの最後にはスラッシュ( / )を付けます。たとえば、/jars/と入力して、依存項目をjarsという名前のフォルダーに保管します。このフォルダーが存在しない場合、ここで作成されます。<br><br>Databricks 15.4 LTSより、デフォルトのライブラリーの場所がDBFSではんくWORKSPACEとなりました。 |
   | [Project ID] (プロジェクトID) | Databricksプロジェクトが存在するGoogle PlatformプロジェクトのIDを入力します。<br><br>このフィールドは、[Cloud provider] (クラウドプロバイダー)ドロップダウンリストからGCPを選択している場合のみ利用できます。 |
   | [Bucket] (バケット) | Google PlatformのDatabricksに使用するバケット名を入力します。<br><br>このフィールドは、[Cloud provider] (クラウドプロバイダー)ドロップダウンリストからGCPを選択している場合のみ利用できます。 |
   | [Workspace ID] (ワークスペースID) | databricks-workspaceidの形式に従って、Google PlatformワークスペースのIDを入力します。<br><br>このフィールドは、[Cloud provider] (クラウドプロバイダー)ドロップダウンリストからGCPを選択している場合のみ利用できます。 |
   | [Google credentials] (Googleクレデンシャル) | サービスアカウントキーが含まれているJSONファイルを保存するTalend JobServerマシン内のディレクトリーを入力します。<br><br>このフィールドは、[Cloud provider] (クラウドプロバイダー)ドロップダウンリストからGCPを選択している場合のみ利用できます。 |
   | [Poll interval when retrieving Job status (in ms)] (ジョブステータスを取得する時のポーリング間隔(ミリ秒)) | Talend StudioがジョブのステータスをSparkに要求する時間間隔(ミリ秒)を引用符なしで入力します。 |
   | [Cluster type] (クラスタータイプ) | ドロップダウンリストで、使用したいクラスターのタイプを選択します。詳細は、[Databricksクラスターについて](https://help.qlik.com/talend/ja-JP/components/8.0/databricks/about-databricks-clusters)をご覧ください。<br><br>情報メモ注: Java17と共にTalend Studioを使ってジョブを実行する場合は、JNAME=zulu17-ca-amd64環境変数を設定する必要があります:<br><br><ul> <li>ジョブクラスターの場合はDatabricksで</li> <li>汎用クラスター用のS3では<span>set_java17_dbr.sh</span>スクリプトを使った<span>Init scripts</span>で</li> </ul><br><br>DBFSは、[Init Scripts] (Initスクリプト)の場所としてはサポートされなくなりました。Databricksの全バージョンで、WORKSPACEに置き換えられます。 |
   | [Use policy] (ポリシーを使用) | このチェックボックスをオンにして、ジョブクラスターで使用するポリシーの名前を入力します。ポリシーを使用して、ルールのセットに基づいてクラスターを設定する機能を制限できます。<br><br>クラスターポリシーの詳細は、Databricksの公式ドキュメントで[Manage cluster policies](https://docs.databricks.com/administration-guide/clusters/policies.html#:~:text=A%20cluster%20policy%20limits%20the,a%20specific%20users%20and%20groups.&text=Limit%20users%20to%20create%20clusters%20with%20prescribed%20settings.) (英語のみ)をご覧ください。 |
   | [Enable ACL] (ACLを有効化) | このチェックボックスをオンにすると、アクセス制御リスト(ACL)を使って、ワークスペースやアカウントレベルのオブジェクトへのアクセス権限を設定できます。<br><br>[ACL permission] (ACL権限)では、CAN\_MANAGE、CAN\_MANAGE\_RUN、IS\_OWNER、CAN\_VIEWのいずれかを使って、ワークスペースオブジェクトへのアクセス権限を設定できます。<br><br>[ACL type] (ACLタイプ)では、[User] (ユーザー)、[Group] (グループ)、[Service Principal] (サービスプリンシパル)のいずれかを使って、アカウントレベルのオブジェクトの使用権限を設定できます。<br><br>[Name] (名前)には、管理者から付与された名前を入力します。<br><br>このオプションは、[Cluster type] (クラスタータイプ)が[Job clusters] (ジョブクラスター)に設定されている場合に利用可能です。詳細は、[Databricksのドキュメンテーション](https://docs.databricks.com/aws/en/security/auth) (英語のみ)をご覧ください。 |
   | [Autoscale] (自動スケーリング) | このチェックボックスをオンまたはオフにして、ジョブクラスターで使用するワーカーの数を定義します。このチェックボックスをオンにすると、自動スケーリングが有効になります。次に、**[Min workers] (最小ワーカー)**にワーカーの最小数、**[Max workers] (最大ワーカー)**に最大ワーカー数を定義します。ジョブクラスターは、ワークロードに基づいてこのスコープでスケールアップおよびスケールダウンされます。<br><br><ul> <li>このチェックボックスをオンにすると、自動スケーリングが有効になります。次に、<span>[Min workers] (最小ワーカー)</span>にワーカーの最小数、<span>[Max workers] (最大ワーカー)</span>に最大ワーカー数を定義します。ジョブクラスターは、ワークロードに基づいてこのスコープでスケールアップおよびスケールダウンされます。<p>Databricksのドキュメンテーションによると、自動スケーリングはDatabricksランタイムバージョン3.0以降で最適に機能します。</p></li> <li>このチェックボックスをオフにすると、自動スケーリングは無効になります。次に、ジョブクラスターに必要なワーカーの数を定義します。この数には、Sparkドライバーノードは含まれません。</li> </ul> |
   | [Node type] (ノードタイプ)と[Driver node type] (ドライバーノードタイプ) | ワーカーノードとSparkドライバーノードのノードタイプを選択します。これらのタイプは、ノードの容量とDatabricksによる価格設定を決定します。<br><br>これらのノードタイプと使用するDatabricksユニットの詳細は、Databricksドキュメンテーションで[Supported Instance Types (サポートされるインスタンスタイプ)](https://databricks.com/product/aws-pricing/instance-types) (英語のみ)をご覧ください。 |
   | [Disable credentials passthrough] (認証情報のパススルーを無効化) | このチェックボックスをオンにすると、Databricks Universalへの接続時にユーザー認証情報のパススルーが無効になります。このオプションが選択されている場合、データソースへの認証ではユーザーの個別の認証情報が使用されません。 |
   | [Number of on-demand] (オンデマンドの番号) | このチェックボックスをオンにすると、オンデマンドの計算リソース(仮想マシンやワーカーノードなど)の最大数を指定できます。 |
   | [Spot with fall back to On-demand] (オンデマンドへのフォールバックを伴うスポット) | このチェックボックスをオンにすると、Spotクラスターの使用が許可され、Spotリソースが利用できない場合にオンデマンドクラスターへの自動フォールバックが行われます。 |
   | 可用性ゾーン | このチェックボックスをオンにすると、Databricksリソースがデプロイされる可用性ゾーンを指定できます。 |
   | [Max spot price] (最大スポット価格) | このチェックボックスをオンにすると、Databricksが計算リソースをプロビジョニングする時に、Spotインスタンスに対して支払うことを承諾する1時間あたりの最大価格を指定できます。 |
   | [EBS volume type] (ESBボリュームタイプ) | EBSボリュームのタイプとして、ドロップダウンメニューから[None] (なし)、[General purpose SSB] (汎用SSB)、[Throughput optimized HDD] (スループットが最適化されたHDD)のいずれかを選択します。 |
   | [Configure instance profile ARN] (インスタンスプロファイルARNを設定) | このチェックボックスをオンにすると、Databricksリソースにカスタム権限を割り当てるインスタンスプロファイルARNを指定できます。これにより、必要に応じてAWSサービスへの安全なアクセスが可能になります。 |
   | [Elastic disk] (エラスティックディスク) | このチェックボックスをオンにすると、Sparkワーカーのディスクスペースが不足している時に、ジョブクラスターが自動的にディスクスペースを拡大できるようになります。<br><br>このエラスティックディスク機能の詳細は、Databricksのドキュメンテーションでローカルストレージの自動スケーリングに関するセクションを検索してください。 |
   | [SSH public key] (SSHパブリックキー) | クラスターにSSHアクセスが設定されている場合は、生成されたSSHキーペアのパブリックキーを入力します。このパブリックキーは、ジョブクラスターの各ノードに自動的に追加されます。SSHアクセスが設定されていない場合、このフィールドは無視してください。<br><br>クラスターへのSSHアクセスの詳細は、公式Databricksドキュメンテーションから[SSH access to clusters(クラスターへのSSHアクセス)](https://docs.databricks.com/user-guide/clusters/ssh.html) (英語のみ)をご覧ください。 |
   | [Configure cluster logs] (クラスターログの設定) | このチェックボックスをオンにすると、Sparkログを長期間保存する場所を定義できます。 |
   | [Custom tags] (カスタムタグ) | このチェックボックスをオンにすると、カスタムタグをキーと値のペアとしてDatabricksリソースに追加できます。 |
   | [Init Scripts] (Initスクリプト) | DBFSは、[Init Scripts] (Initスクリプト)の場所としてはサポートされなくなりました。Databricksの全バージョンで、WORKSPACEに置き換えられました。 |
   | [Do not restart the cluster when submitting] (送信時にクラスターを再起動しない) | Talend Studioがジョブを送信する時にTalend Studioがクラスターを再起動しないようにするには、このチェックボックスをオンにします。ただしジョブで変更を行う場合は、このチェックボックスをオフにし、Talend Studioがクラスターを再起動してその変更が反映されるようにします。 |
6. [Set tuning properties] (チューニングプロパティを設定)チェックボックスをオンにし、[Apache Spark Batchジョブ用にSparkを調整](https://help.qlik.com/talend/ja-JP/components/8.0/spark-batch/tuning-spark-for-apache-spark-batch-jobs-spark-batch-component)の説明に従ってチューニングパラメーターを定義します。

   情報メモ重要: チューニングパラメーターを設定しない場合、エラー(400 - Bad request)が発生する可能性があります。
7. [Spark "scratch" directory] (Spark "scratch"ディレクトリー)フィールドに、Talend Studioが一時ファイルを保存するローカルパス(転送するJARなど)を入力します。

   Windowsでジョブを実行する場合、デフォルトのディスクはC:です。このフィールドに/tmpを残すと、C:/tmpがディレクトリーとして使用されます。
8. ジョブを耐障害性にする場合は、[Activate checkpointing] (チェックポイントを有効化)をオンにしてSparkのチェックポイント操作を有効にします。

   [Checkpoint directory] (チェックポイントディレクトリー)フィールドには、Sparkがコンテキストデータ(メタデータや生成されたRDDなど)を保存するクラスターファイルシステムのパスを入力します。
9. [Advanced properties] (詳細プロパティ)テーブルに、Talend Studioによって設定されたデフォルトをオーバーライドしたいSparkプロパティを追加します。
10. データ来歴を追跡し、Sparkジョブのコンポーネントを表示させ、コンポーネント間のスキーマ変更を追跡する場合は、[Use Atlas] (アトラスを使用) チェックボックスをオンにします。

    このオプションはSpark Universal 3.3.xでのみ使用可能です。

    このオプションを有効にしたら、以下のパラメーターを設定する必要があります。
    * Atlas URL: Atlasインスタンスのアドレス(http://name\_of\_your\_atlas\_node:portなど)を入力します。

    * [Username] (ユーザー名)および[Password] (パスワード)フィールドに、Atlasにアクセスするための認証情報を入力します。

    * [Set Atlas configuration folder] (Atlas設定フォルダーを指定): AtlasクラスターがSSLや読み取りタイムアウトなどのカスタムプロパティを使用している場合は、このチェックボックスをオンにします。表示されるフィールドに、atlas-application.propertiesファイルが含まれているローカルディレクトリーへのパスを入力します。その後、ジョブはこれらのカスタムプロパティを使用するようになります。

      この設定ファイルについては、クラスターの管理者に依頼してください。詳細は、[\[Atlas configuration\] (Atlas設定)](https://atlas.apache.org/0.8.2/Configuration.html) (英語のみ)でクライアント設定セクションをご覧ください。

    * [Die on error] (エラー発生時に強制終了): このチェックボックスをオンにすると、Atlas関連の問題(接続エラーなど)が発生した場合にジョブの実行を停止します。クリアすると、ジョブが実行し続けるようになります。

## タスクの結果

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