Delta Sharing を使用して共有されたデータにアクセスする
この記事では、Delta Sharing を使用して共有されたデータにアクセスする方法について説明します。
Delta Sharing は、安全なデータ共有のためのオープン標準です。Databricks ユーザー (このコンテキストでは データ プロバイダー と呼ばれます) は、Databricks の Delta Sharing を使用して、 データ受信者 と呼ばれる組織外の個人またはグループとデータを共有できます。SAP Databricks ワークスペースはデータ受信者にすることができますが、SAP BDC アカウント以外のエンティティのデータ プロバイダーにすることはできません。
データが共有されると、ワークスペースで読み取りアクセスが可能になり、データ プロバイダーが共有テーブル、ビュー、ボリューム、パーティションに対して行った更新は、ほぼリアルタイムでワークスペースに反映されます。
共有データ テーブル、ビュー、およびボリュームの更新は、ほぼリアルタイムでワークスペースに表示されます。 ただし、列の変更 (追加、名前変更、削除) は、最大 1 分間カタログエクスプローラーに表示されない場合があります。 同様に、新しい共有と共有の更新 (共有への新しいテーブルの追加など) は、表示およびクエリが使用可能になるまで 1 分間キャッシュされます。
必要な権限
すべてのプロバイダーとプロバイダー共有の詳細を一覧表示および表示するには、メタストア管理者であるか、 USE PROVIDER
特権を持っている必要があります。他のユーザーは、自分が所有するプロバイダーと共有にのみアクセスできます。
プロバイダー共有からカタログを作成するには、メタストア管理者であるか、Unity Catalog メタストアに対する CREATE CATALOG
権限と USE PROVIDER
権限の両方を持つユーザーである必要があります。
共有から作成されたカタログ内のスキーマ (データベース)、テーブル、ビュー、ボリュームへの読み取り専用アクセスを許可する機能は、一般的な Unity Catalog 特権階層に従います。共有から作成されたカタログ内のノートブックを表示する機能には、カタログに対する USE CATALOG
権限が必要です。
Databricks-to-Databricks 共有とオープン共有
データへのアクセス方法は、データ プロバイダーが共有されるデータを Databricks-to-Databricks 共有用に構成したか、 オープン共有 用に構成したかによって異なります。
Databricks-to-Databricksモデルでは 、チームのメンバーがUnity Catalogメタストアの一意の識別子をデータ プロバイダーに提供し、データ プロバイダーはそれを使用してセキュリティで保護された共有接続を作成します。共有データは、ワークスペースでアクセスできるようになります。必要に応じて、チームのメンバーがそのデータに対するきめ細かなアクセス制御を設定します。
オープン共有モデルでは 、任意のツール (SAP Databricks を含む) を使用して共有データにアクセスできます。データプロバイダは、安全なチャンネルを介してアクティベーションURLまたはポータルリンクを送信します。 それに従って、共有されたデータにアクセスするための資格情報ファイルまたは URL をダウンロードします。
共有データは、Databricks によって直接提供されるのではなく、Databricks 上で実行されているデータ プロバイダーによって提供されます。
Databricksは、データ受領者による共有データの使用およびアクセスに関する情報(当該情報に関連する認証情報ファイルを使用してデータにアクセスする個人または企業を特定することを含む)を収集し、該当するデータプロバイダーと共有する場合があります。
Databricks-to-Databricksモデルでアクセスする
Databricks間共有モデルの場合:
-
Databricks ワークスペースに関連付けられている Unity Catalog メタストアの共有識別子をデータ プロバイダーに送信します。
共有識別子は、メタストアのクラウド、リージョン、UUID (メタストアの一意の識別子) で構成される文字列で、
<cloud>:<region>:<uuid>
.たとえば、aws:eu-west-1:b0c978c8-3e68-4cdf-94af-d05c120ed1ef
.Catalog Explorer を使用して共有識別子を取得するには:
-
SAP Databricks ワークスペースで、[
カタログ] をクリックします。
-
[カタログ ] ウィンドウの上部にある [
] 歯車アイコンをクリックし、[ Delta Sharing ] を選択します。
または、[ クイック アクセス ] ページで [Delta Sharing > ] ボタンをクリックします。
-
[ 共有先] タブで、右上にある Databricks 共有組織名をクリックし、[ 共有識別子のコピー ] を選択します。
ノートブックまたは Databricks SQL クエリを使用して共有識別子を取得するには、デフォルト SQL 関数
CURRENT_METASTORE
. ノートブックを使用する場合は、共有データへのアクセスに使用するワークスペースでノートブックを実行する必要があります。SQLSELECT CURRENT_METASTORE();
-
-
データ プロバイダーは、次のものを作成します。
- データにアクセスする組織内のユーザーとあなたを表す Databricks アカウントの 受信者 。
- 共有 (共有されるテーブル、ボリューム、およびビューの表現)
-
共有されたデータにアクセスします。あなたやチームの誰かが、必要に応じて、ユーザーのそのデータに対する詳細なデータアクセスを設定できます。
オープン共有モデルでアクセスを取得する
オープン共有モデルでは、次のようになります。
-
データ プロバイダーは、次のものを作成します。
- データにアクセスする組織内のユーザーとあなたを表す Databricks アカウントの 受信者 。
- 共有 は、共有するテーブルとパーティションを表します。
-
データ プロバイダから、アクティベーション URL (安全なチャンネル経由) またはポータル URL が送信されます。 それに従って、共有されているデータにアクセスするための資格情報ファイルまたは URL をダウンロードします。
ベアラートークンとOAuthクライアント資格情報の両方がサポートされています。
アクティベーションリンクは誰とも共有しないでください。資格情報ファイルは一度だけダウンロードできます。資格情報ファイルがダウンロードされた後でアクティベーションリンクに再度アクセスすると、「 資格情報ファイルのダウンロード 」ボタンは無効になります。
アクティベーションリンクを使用する前に紛失した場合は、データプロバイダにお問い合わせください。 3. 資格情報ファイルを安全な場所に格納します。
共有データにアクセスできるはずのユーザー グループ以外のユーザーと資格情報ファイルを共有しないでください。組織内の誰かと共有する必要がある場合、Databricks ではパスワード マネージャーを使用することをお勧めします。
共有からカタログを作成する
共有内のデータにチームがアクセスできるようにするには、共有からカタログを作成する必要があります。共有をカタログに追加した後、カタログとカタログ内のオブジェクト (スキーマ、テーブル、ビュー、ボリューム) へのアクセスをチームの他のメンバーに許可または拒否できます。
必要なアクセス許可 : メタストア管理者、Unity Catalog メタストアに対する CREATE CATALOG
権限と USE PROVIDER
権限の両方を持つユーザー、または CREATE CATALOG
権限を持つユーザー。
共有にビューが含まれている場合は、プロバイダーのメタストア内のビューを含むカタログの名前とは異なるカタログ名を使用する必要があります。
-
SAP Databricks ワークスペースで、[
カタログ] をクリックして [カタログ エクスプローラー] を開きます。
-
[カタログ ] ウィンドウの上部にある [
] 歯車アイコンをクリックし、[ Delta Sharing ] を選択します。
または、[ クイック アクセス ] ページで [Delta Sharing > ] ボタンをクリックします。
-
[ 自分と共有] タブで、プロバイダーを見つけて選択します。
-
[共有] タブで、共有を見つけ、共有行の [カタログの作成 ] をクリックします。
-
カタログの名前とオプションのコメントを入力します。
-
作成 をクリックします。
または、カタログ エクスプローラを開いたときに、右上の [カタログを作成 ] をクリックして共有カタログを作成することもできます。