Delta Sharing プロバイダーを管理する (データ受信者の場合)
この記事では、Unity Catalog を使用して、Delta Sharing を使用してデータを共有しているデータ プロバイダーに関する情報を取得する方法について説明します。 また、プロバイダー オブジェクトとは何かについて、Unity Catalog メタストアでプロバイダー オブジェクトを作成する必要がある場合、およびほとんどの受信者が行う必要のないタスクについても説明します。
重要
データ受信者は、この記事で説明する機能を使用するには、Unity Catalog で有効になっている Databricks ワークスペースにアクセスできる必要があります。 この記事は、Unity カタログ対応ワークスペースがない受信者には適用されません。
受信者がプロバイダー オブジェクトを作成する必要はありますか?
Delta Sharing on Databricks では、"プロバイダー" という用語は、データを共有している組織と、その組織を表す、受信者の Unity Catalog メタストア内のセキュリティ保護可能なオブジェクトの両方を意味します。 そのセキュリティ保護可能なオブジェクトが受信者の Unity Catalog メタストアに存在すると、受信者は Unity Catalog を使用してチームによる共有データへのアクセスを管理できます。
Unity カタログ メタストアにアクセスできる受信者は、通常、プロバイダー オブジェクトを作成する必要はありません。 これは、データの共有には Databricks 間の共有を使用する必要があり、プロバイダー オブジェクトが Unity カタログ メタストアに自動的に作成されるためです。
Note
Unity カタログにはまれに、Unity カタログ対応 Databricks ワークスペースから共有されていないプロバイダーからデータを受信している受信者がいます。こうした受信者は、Unity カタログを使用してその共有データを管理できるように、Unity カタログにプロバイダー オブジェクトを作成することができます。 そのようなカテゴリに属している場合は、POST /api/2.1/unity-catalog/providers REST API 呼び出し、または Databricks CLI を使用して、Unity カタログ プロバイダー オブジェクトを作成できます。 メタストア管理者、またはメタストアの CREATE_PROVIDER
特権を持つユーザーである必要があります。
開始する前に
Azure Databricks ワークスペースでプロバイダーを管理するには:
- ワークスペースは、Unity Catalog に対して有効にする必要があります。
- プロバイダーを表示するには、メタストア管理者であるか、メタストア管理者から
USE PROVIDER
特権を付与されている必要があります。 - プロバイダーを作成するには、メタストア管理者であるか、メタストア管理者から
CREATE PROVIDER
特権が付与されている必要があります。 - プロバイダーを更新するには、プロバイダー オブジェクトの所有者であり、
CREATE PROVIDER
特権を持っている必要があります。 詳細については、「プロバイダーを更新する (名前の変更、所有者の変更、コメント)」を参照してください。
このため、メタストア管理者なしでワークスペースが作成された場合は、Azure Databricks でプロバイダー オブジェクトを操作する前に、Azure Databricks アカウント管理者がユーザーまたはグループにメタストア管理者ロールを付与する必要があります。 「Unity Catalog の自動有効化」および「(省略可能) メタストア管理者ロールの割り当て」を参照してください。
プロバイダーを表示する
使用可能なデータ プロバイダーの一覧を表示するには、カタログ エクスプローラー、Databricks Unity Catalog CLI、または Azure Databricks ノートブックや Databricks SQL クエリ エディターで SHOW PROVIDERS
SQL コマンドを使用することができます。
必要なアクセス許可: メタストア管理者であるか、メタストア内のすべてのプロバイダーを表示する USE PROVIDER
特権が必要です。 他のユーザーは、自分が所有するプロバイダーにのみアクセスできます。
カタログ エクスプローラー
Azure Databricks ワークスペースで、 [カタログ] をクリックします。
[カタログ] ペインの上部にある 歯車アイコンをクリックし、[Delta Sharing] を選択します。
または、[クイック アクセス] ページで、[Delta Sharing >] ボタンをクリックします。
[自分と共有] タブに、使用可能なすべてのプロバイダーが表示されます。
SQL
ノートブックまたは Databricks SQL クエリ エディターで次のコマンドを実行します。 必要に応じて、<pattern>
をLIKE
の述語 に置き換えます。
SHOW PROVIDERS [LIKE <pattern>];
CLI
Databricks CLI を使用して次のコマンドを実行します。
databricks providers list
プロバイダーの詳細を表示する
プロバイダーの詳細を表示するには、カタログ エクスプローラー、Databricks Unity Catalog CLI、または Azure Databricks ノートブックや Databricks SQL クエリ エディターで DESCRIBE PROVIDER
SQL コマンドを使用することができます。
必要なアクセス許可: メタストア管理者、USE PROVIDER
特権を持つユーザー、またはプロバイダー オブジェクト所有者。
詳細には次のものが含まれます。
- プロバイダーによって共有されている共有 (「プロバイダーが共有している共有を表示する」を参照)。
- プロバイダーの作成者、作成タイムスタンプ、コメント、認証の種類 (
TOKEN
またはDATABRICKS
)。TOKEN
は、Delta Sharing オープン共有プロトコルを使用してデータを共有しているプロバイダーを表します。DATABRICKS
は、Databricks 間共有プロトコルを使用してデータを共有しているプロバイダーを表します。 - プロバイダーが Databricks 間共有を使用している場合: プロバイダーの Unity Catalog メタストアのクラウド、リージョン、メタストア ID。
- プロバイダーがオープン共有を使用している場合: Delta Sharing 共有サーバーがホストされている受信者プロファイル エンドポイント。
カタログ エクスプローラー
Azure Databricks ワークスペースで、 [カタログ] をクリックします。
[カタログ] ペインの上部にある 歯車アイコンをクリックし、[Delta Sharing] を選択します。
または、[クイック アクセス] ページで、[Delta Sharing >] ボタンをクリックします。
[自分と共有] タブで、プロバイダーを見つけて選択します。
SQL
ノートブックまたは Databricks SQL クエリ エディターで次のコマンドを実行します。
DESC PROVIDER <provider-name>;
CLI
Databricks CLI を使用して次のコマンドを実行します。
databricks providers get <provider-name>
プロバイダーが共有している共有を表示する
プロバイダーが共有している共有を表示するには、カタログ エクスプローラー、Databricks Unity Catalog CLI、または Azure Databricks ノートブックや Databricks SQL クエリ エディターで SHOW SHARES IN PROVIDER
SQL コマンドを使用することができます。
必要なアクセス許可: メタストア管理者、USE PROVIDER
特権を持つユーザー、またはプロバイダー オブジェクト所有者。
カタログ エクスプローラー
Azure Databricks ワークスペースで、 [カタログ] をクリックします。
[カタログ] ペインの上部にある 歯車アイコンをクリックし、[Delta Sharing] を選択します。
または、[クイック アクセス] ページで、[Delta Sharing >] ボタンをクリックします。
[自分と共有] タブで、プロバイダーを見つけて選択します。
SQL
ノートブックまたは Databricks SQL クエリ エディターで次のコマンドを実行します。 必要に応じて、<pattern>
をLIKE
の述語 に置き換えます。
SHOW SHARES IN PROVIDER [LIKE <pattern>];
CLI
Databricks CLI を使用して次のコマンドを実行します。
databricks providers list-shares <provider-name>
プロバイダーを更新する (名前の変更、所有者の変更、コメント)
Unity Catalog メタストア内のプロバイダー オブジェクトを変更するには、カタログ エクスプローラー、Databricks Unity Catalog CLI、または Azure Databricks ノートブックや Databricks SQL クエリ エディターで ALTER PROVIDER
SQL コマンドを使用することができます。
- プロバイダーの名前を変更して、ユーザーが Databricks インターフェイスでプロバイダー オブジェクトを表示する方法を変更する。
- プロバイダー オブジェクトの所有者を変更する。
- コメントを追加または変更する。
必要なアクセス許可 : 所有者を更新するには、プロバイダー オブジェクトの所有者である必要があります。 プロバイダー名を更新するには、メタストア管理者 (または CREATE_PROVIDER
特権を持つユーザー) であり、"かつ" プロバイダー所有者である必要があります。 コメントを更新するには、所有者である必要があります。 最初の所有者はメタストア管理者です。
カタログ エクスプローラー
Azure Databricks ワークスペースで、 [カタログ] をクリックします。
[カタログ] ペインの上部にある 歯車アイコンをクリックし、[Delta Sharing] を選択します。
または、[クイック アクセス] ページで、[Delta Sharing >] ボタンをクリックします。
[自分と共有] タブで、プロバイダーを見つけて選択します。
詳細ページで、所有者、コメント、またはプロバイダー名を更新します。
プロバイダーの名前を変更するには、 ケバブ メニューをクリックし、[名前の変更] を選択します。
SQL
ノートブックまたは Databricks SQL クエリ エディターで次のコマンドを実行します。
ALTER PROVIDER <provider-name> RENAME TO <new-provider-name>
OWNER TO <new-owner>
COMMENT "<comment>";
CLI
Databricks CLI を使用して次のコマンドを実行します。 <provider-name>
を現在のプロバイダー名に置き換え、<new-provider-name>
を新しい名前に置き換えます。
databricks providers update <provider-name> /
--new-name <new-provider-name> /
--comment "<new comment>" /
--owner <new-owner-name>
プロバイダーを削除する
プロバイダーを削除するには、カタログ エクスプローラー、Databricks Unity Catalog CLI、または Azure Databricks ノートブックや Databricks SQL クエリ エディターで DROP PROVIDER
SQL コマンドを使用することができます。 プロバイダーを削除するには、プロバイダー オブジェクト所有者である必要があります。
プロバイダーを削除すると、自分と組織内のユーザー (受信者) は、プロバイダーによって共有されているデータにアクセスできなくなります。
必要なアクセス許可: プロバイダー オブジェクト所有者。
カタログ エクスプローラー
Azure Databricks ワークスペースで、 [カタログ] をクリックします。
[カタログ] ペインの上部にある 歯車アイコンをクリックし、[Delta Sharing] を選択します。
または、[クイック アクセス] ページで、[Delta Sharing >] ボタンをクリックします。
[自分と共有] タブで、プロバイダーを見つけて選択します。
ケバブ メニューを選択し、[削除] を選択します。
確認のダイアログで [削除] をクリックします。
SQL
ノートブックまたは Databricks SQL クエリ エディターで次のコマンドを実行します。
DROP PROVIDER [IF EXISTS] <provider-name>;
CLI
Databricks CLI を使用して次のコマンドを実行します。
databricks providers delete <provider-name>
操作が成功した場合、結果は返されません。