メインコンテンツまでスキップ

Databricks コネクタを使用して別の Databricks ワークスペースに接続する

important

従来のクエリ フェデレーションのドキュメントは廃止されており、更新されない可能性があります。このコンテンツに記載されている製品、サービス、またはテクノロジは、Databricks によって公式に承認またはテストされたものではありません。レイクハウスフェデレーションとはを参照してください。

この記事では、Databricks コネクタを使用して別の Databricks ワークスペースに接続する構文の例を示します。このコネクタは、Databricks Runtime 13.3 LTS 以降に含まれている Databricks JDBC ドライバーを利用します。

important

ほとんどのデータ共有操作では、Databricks では Delta Sharing をお勧めします。「Delta Sharing とは」を参照してください。また、他の Databricks ワークスペース内のデータに対するクエリを管理するために、レイクハウスフェデレーションを好む場合もあります。 「レイクハウスフェデレーションとは」を参照してください。

別の Databricks ワークスペースへの接続

Databricks Spark コネクタを使用すると、別の Databricks ワークスペースで構成されたコンピュート リソースに接続し、結果を現在のDatabricks ワークスペースに返すことができます。クエリを成功させるには、両方のワークスペースでアクティブなコンピュートにアクセスできる必要があります。

JDBC ドライバーは jdbc:databricks:// URL に登録されています。リモートでアクセスされるワークスペース リソースに対するアクセス許可を付与する個人用アクセス トークンを構成して使用する必要があります。トークン管理 API を参照してください。

注記

クラスターにDatabricks JDBCライブラリがアタッチされている場合は、クラスターに含まれているバージョンではなく、クラスターにアタッチされたライブラリバージョンが使用されますDatabricks Runtime

別の Databricks ワークスペースからデータを読み取る

次の例のように、データを読み取るときに Databricks Spark コネクタを使用する形式 databricks を指定できます。

Python
df = (spark.read
.format("databricks")
.option("host", "<host-name>.cloud.databricks.com")
.option("httpPath", "/sql/1.0/warehouses/<warehouse-id>")
.option("personalAccessToken", "<auth-token>")
.option("dbtable", "<table-name>")
.load()
)

別の Databricks ワークスペースに対して外部テーブルを作成する

別のDatabricksワークスペースにリンクされたDatabricksワークスペースに外部テーブルを登録することができます。

次の例は、 secret 関数を使用して Databricks シークレットに格納された資格情報を取得する、この構文を示しています。

注記

Databricks シークレットの詳細については、「secret 関数」を参照してください。

SQL
CREATE TABLE databricks_external_table
USING databricks
OPTIONS (
host '<host-name>.cloud.databricks.com',
httpPath '/sql/1.0/warehouses/<warehouse-id>',
personalAccessToken secret('<scope>', '<token>'),
dbtable '<table-name>'
);