# 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-R2026-09/Hadoop接続を一元管理/talend/en-US/studio-user-guide/8.0/centralizing-hadoop-connection)で説明されているとおり、既に[Repository] (リポジトリー)で接続パラメーターが設定されている場合は簡単に再利用できます。そのためには、[Property type] (プロパティタイプ)ドロップダウンリストから[Repository] (リポジトリー)を選択し、[...]ボタンをクリックし、[Repository Content] (リポジトリーコンテンツ)ダイアログボックスを開いて、使用するHadoop接続を選択します。

   情報メモヒント: Setting up the connection in the Repository allows you to avoid configuring that connection each time you need it in the Spark configuration view of your Jobs. The fields are automatically filled.
3. [Distribution] (ディストリビューション)ドロップダウンリストからUniversalを、[Version] (バージョン)ドロップダウンリストからSparkバージョンを、[Runtime mode/environment] (ランタイムモード/環境)ドロップダウンリストからDatabricksをそれぞれ選択します。
4. 設定の基本情報を入力します:
   | パラメーター | 使用 |
   | --- | --- |
   | [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>tファイルOutputParquet </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>情報メモ重要: All<br>the parameters have to be created on Databricks with granted<br>permissions for all authorized users before using them in Talend Studio. |
   | [Use pool] (プールを使用) | Databricksプールを活用する場合はこのチェックボックスをオンにします。チェックボックスをオンにした場合は、[Cluster ID] (クラスターID)ではなく[Pool ID] (プールID)を指定する必要があります。また、[Cluster type] (クラスタータイプ)ドロップダウンリストで[Job clusters] (ジョブクラスター)を選択する必要があります。 |
   | エンドポイント | お使いのワークスペースのURLアドレスを入力します。 |
   | [Cluster ID] (クラスターID) | 使用するDatabricksクラスターのIDを入力します。このIDは、Sparkクラスターのspark.databricks.clusterUsageTags.clusterIdプロパティの値です。このプロパティは、クラスターの[Spark UI]ビューの[Environment] (環境)タブのプロパティリストにあります。 |
   | 認証モード | ドロップダウンリストで、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/en-US/components/8.0/databricks/about-databricks-clusters)をご覧ください。<br><br>情報メモ注: When you run the Job using Talend Studio with Java 17, you need to set the<br>JNAME=zulu17-ca-amd64 environment<br>variable:<br><br><ul> <li>on Databricks side for job clusters</li> <li>in <span>Init scripts</span> using the                                             <span>set_java17_dbr.sh</span> script on S3 for                                          all-purpose clusters</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.) (英語のみ)をご覧ください。 |
   | 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) (英語のみ)をご覧ください。 |
   | [Enable 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がクラスターを再起動してその変更が反映されるようにします。 |

## タスクの結果

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