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

Delta Sharing の共有を作成して管理する

このページでは、Delta Sharing の共有を作成および管理する方法について説明します。

共有は、Unity Catalog 内のセキュリティ保護可能なオブジェクトであり、次のデータ資産を 1 人以上の受信者と共有するために使用します。

スキーマ (データベース) 全体を共有する場合、受信者は、スキーマを共有した時点でスキーマ内のすべてのテーブル、ストリーミングテーブル、ビュー、マテリアライズドビュー、モデル、ボリュームにアクセスできるほか、将来スキーマに追加されるデータや AI アセットにもアクセスできます。

共有には、1 つの Unity Catalog メタストアからのデータと AI アセットのみを含めることができます。 データ資産と AI 資産は、いつでも共有に追加したり、共有から削除したりできます。

共有を作成する前に、アカウントに Delta Sharing が設定されていることを確認してください (プロバイダー向け)

共有モデルの詳細については、共有、プロバイダー、および受信者を参照してください。

必要条件

完了するタスクごとに記載された要件を満たしていることを確認します。

ヒント

データ資産を共有に追加する場合、Databricks ではグループを共有所有者として使用することをお勧めします。

タスク

要件

シェアを作成する

  • 共有したいデータが登録されているUnity Catalogメタストアに対するCREATE SHARE権限を持っている必要があります。
  • その Unity Catalog メタストアがアタッチされている Databricks ワークスペースを使用して共有を作成します。

以下を共有に追加します。

  • テーブル
  • ストリーミングテーブル
  • 管理された Iceberg テーブル
  • フォーリンテーブル
  • ビュー
  • マテリアライズドビュー
  • 共有の所有者になります。
  • データ アセットを含むカタログとスキーマに対するUSE CATALOGおよびUSE SCHEMA権限を持っている必要があります。
  • データ資産に対するSELECT権限を持っています。資産を引き続き共有するには、その権限を維持する必要があります。紛失した場合、受信者は共有を通じて資産にアクセスできなくなります。

スキーマ全体または外部スキーマを共有する

  • 共有所有者かつスキーマ所有者であるか、 USE SCHEMA持っている必要があります。
  • テーブルを共有するスキーマに対する SELECT 権限がある。
  • ボリュームを共有するスキーマに対する READ VOLUME 権限がある。

共有へのボリュームの追加

  • 共有の所有者になります。
  • カタログまたはスキーマのボリュームまたは所有権を含むカタログおよびスキーマに対する USE CATALOG 権限と USE SCHEMA 権限を持っている。
  • ボリュームに対するREAD VOLUME権限を持っています。ボリュームを引き続き共有するには、その権限を保持する必要があります。これを紛失した場合、受信者は共有を通じてボリュームにアクセスできなくなります。

Python UDFを共有に追加する

  • 共有の所有者になります。
  • Python UDF を含むカタログとスキーマに対するUSE CATALOGおよびUSE SCHEMA権限、またはカタログまたはスキーマの所有権を持っています。
  • Python UDF に対するEXECUTE権限を持っています。Python UDF を引き続き共有するには、その権限を保持する必要があります。これを紛失すると、受信者は共有を通じて Python UDF にアクセスできなくなります。

共有にモデルを追加する

  • 共有の所有者になります。
  • モデルを含むカタログとスキーマに対する USE CATALOG 権限と USE SCHEMA 権限を持っているか、カタログまたはスキーマの所有権を持っている。
  • モデルに対するEXECUTE権限を持っています。モデルを引き続き共有するには、その権限を保持する必要があります。紛失した場合、受信者は共有を通じてモデルにアクセスできなくなります。

ノートブックファイルを共有に追加する

  • ノートブックの CAN READ 権限を持つ共有所有者になります。

受信者に共有へのアクセスを許可する

  • メタストア管理者になる。

または

  • 共有オブジェクトと受信者オブジェクトの両方に対して委任された権限または所有権を持つユーザーである必要があります。つまり、ユーザーは次の両方の要件を満たす必要があります。

  • USE SHARESET SHARE PERMISSION両方の権限を持っているか、共有所有者である必要があります

  • USE RECIPIENT権限を持っているか、受信者の所有者である

シェアを見る

  • メタストア管理者になる (すべて表示可能)。

または

  • USE SHARE権限を持つユーザーであること(すべて表示可能)。

または

  • 共有オブジェクトの所有者になります。

共有所有者を更新

  • メタストア管理者になる。

共有名を更新

  • CREATE SHARE権限を持っています。
  • 共有の所有者になります。

その他の共有プロパティを更新する

  • 共有の所有者になります。

共有を削除する

  • 共有オブジェクトの所有者になります。

コンピュート要件

  • Databricks ノートブックを使用して共有を作成する場合、コンピュート リソースは Databricks Runtime 11.3 LTS 以上を使用し、標準または専用アクセス モード (以前の共有およびシングル ユーザー) を持っている必要があります。
  • SQLステートメントを使用して共有にスキーマを追加する場合 (またはスキーマを更新または削除する場合)、 Databricks Runtime 13.3 LTS以上を実行している SQL ウェアハウスまたはコンピュートを使用する必要があります。 カタログエクスプローラ を使用して同じことを実行する場合、コンピュートの要件はありません。

共有オブジェクトを作成してください

共有オブジェクトを作成する前に、要件を満たしていることを確認してください。

共有を作成するには、カタログ エクスプローラー、 Databricks Unity Catalog CLI 、またはDatabricksノートブックまたはDatabricks SQLクエリ エディターのCREATE SHARE SQLコマンドを使用します。

  1. Databricks ワークスペースで、[データアイコン。 カタログ] をクリックします。

  2. [カタログ ] ウィンドウの上部にある [歯車のアイコン。] 歯車アイコンをクリックし、[ Delta Sharing ] を選択します。

    または、右上隅の 「共有」> Delta Sharing をクリックします。

  3. 自分が共有 タブで、 データの共有 ボタンをクリックします。

  4. 共有の作成 ページで、共有の 名前 とオプションのコメントを入力します。

  5. 保存して続行 をクリックします。

    データ資産を引き続き追加することも、停止して後で戻ることもできます。

  6. [データ アセットの追加] タブで、共有するデータ アセットを選択します。

    詳細な手順、追加要件、および関連する制限については、以下を参照してください。

  7. 保存して続行 をクリックします。

  8. [ ノートブックの追加 ] タブで、共有するノートブックを選択します。

    詳細な手順については、「 共有にノートブック ファイルを追加する」を参照してください。

  9. 保存して続行 をクリックします。

  10. [ 受信者の追加 ] タブで、共有する受信者を選択します。

    詳細な手順については、Delta Sharing データ共有へのアクセスを管理する (プロバイダー向け)を参照してください。

  11. データの共有 」をクリックして、受信者とデータを共有します。

共有にテーブルを追加する

テーブルを共有に追加する前に、要件を満たしていることを確認してください。

ワークスペース管理者であり、テーブルを含むスキーマとカタログに対する USE SCHEMA および USE CATALOG のアクセス許可をワークスペース管理者グループから継承した場合、テーブルを共有に追加することはできません。 まず、スキーマとカタログに対する USE SCHEMA 権限と USE CATALOG 権限を自分自身に付与する必要があります。

注記

テーブルコメント、列コメント、 および主キー制約 は、2024 年 7 月 25 日以降に Databricks-to-Databricks 共有を使用して受信者と共有される共有に含まれます。 リリース日より前に受信者と共有された共有を通じてコメントと制約の共有を開始する場合は、コメントと制約の共有をトリガーするために、受信者のアクセス権を取り消して再付与する必要があります。

テーブルを共有に追加するには、カタログ エクスプローラー、 Databricks Unity Catalog CLI 、またはDatabricksノートブックまたはDatabricks SQLクエリ エディターのSQLコマンドを使用します。

  1. Databricks ワークスペースで、[データアイコン。 カタログ] をクリックします。

  2. [カタログ ] ウィンドウの上部にある [歯車のアイコン。] 歯車アイコンをクリックし、[ Delta Sharing ] を選択します。

    または、右上隅の 「共有」> Delta Sharing をクリックします。

  3. 自分が共有 タブで、テーブルを追加する共有を見つけて、その名前をクリックします。

  4. アセットの管理 > データ アセットの追加 をクリックします。

  5. [ テーブルの追加 ] ページで、スキーマ全体 (データベース) または個々のテーブルを選択します。

    • テーブルまたはビューを選択するには、まずカタログを選択し、次にテーブルを含むスキーマを選択し、次にテーブルまたはビュー自体を選択します。

      ワークスペース検索を使用して、名前、列名、またはコメントでテーブルを検索できます。ワークスペースオブジェクトの検索を参照してください。

    • スキーマを選択するには、まずカタログを選択し、次にスキーマを選択します。

      共有スキーマの詳細については、「 共有にスキーマを追加する」を参照してください。

  6. 履歴 : テーブル履歴を共有して、受信者がタイムトラベル クエリを実行したり、 Spark構造化ストリーミングや実行トランザクションでテーブルを読み取ったりできるようにします。 Databricks-to-Databricks共有では、パフォーマンスを向上させるためにテーブルのDeltaログも共有されます。 「履歴共有によるテーブル読み取りパフォーマンスの向上」を参照してください。履歴の共有には、Databricks Runtime 12.2 LTS 以上が必要です。

注記

また、顧客が table_changes() 関数を使用してテーブルのチェンジデータフィード (CDF) をクエリできるようにする場合は、 テーブルで CDF を有効にして から、 WITH HISTORYで共有する必要があります。

  1. (オプション) エイリアス または パーティション 列の下にある吹き出しとアイコン。をクリックして、エイリアスまたはパーティションを追加します。エイリアスとパーティションは、スキーマ全体を選択した場合には使用できません。テーブル履歴は、スキーマ全体を選択する場合、デフォルトによって含まれます。

  2. [ 保存 ]をクリックします。

共有からテーブルを削除する方法については、共有の更新を参照してください。

共有するテーブルパーティションの指定

テーブルを共有に追加するときにテーブルの一部のみを共有するには、パーティション仕様を指定します。カタログ エクスプローラー、 Databricks Unity Catalog CLI 、またはDatabricksノートブックまたはDatabricks SQLクエリ エディターのSQLコマンドを使用して、共有にテーブルを追加するとき、または共有を更新するときにパーティションを指定します。 「共有にテーブルを追加する」および「共有を更新する」を参照してください。

注記

デフォルトのストレージを使用している場合、パーティション分割が有効になっているテーブルを共有することはできません。Databricks のデフォルト ストレージを参照してください。

次の SQL の例では、 inventory テーブルのデータの一部を共有し、 yearmonthdate の各カラムでパーティション化されています。

  • 2021年のデータ。
  • 2020年12月のデータ。
  • 2019年12月25日のデータ。
SQL
ALTER SHARE share_name
ADD TABLE inventory
PARTITION (year = "2021"),
(year = "2020", month = "Dec"),
(year = "2019", month = "Dec", date = "2019-12-25");

受信者のプロパティを使用してパーティションフィルタリングを行います

データ受信者のプロパティに一致するテーブルパーティションを共有できます (パラメータ化されたパーティション共有とも呼ばれます)。

デフォルトのプロパティには、次のものが含まれます。

  • databricks.accountId:データ受信者が所属する Databricks アカウント(Databricks-to-Databricks 共有のみ)。
  • databricks.metastoreId: データ受信者が属する Unity Catalog メタストア (Databricks間共有のみ)。
  • databricks.name: データ受信者の名前。

受信者を作成または更新するときに、任意のカスタム プロパティを作成できます。

受信者プロパティによるフィルター処理を使用すると、複数の Databricks アカウント、ワークスペース、およびユーザー間で同じ共有を使用して同じテーブルを共有できますが、それらの間のデータ境界は維持されます。

たとえば、テーブルに Databricks アカウント ID 列が含まれている場合は、Databricks アカウント ID で定義されたテーブルパーティションを持つ 1 つの共有を作成できます。 共有すると、Delta Sharing は、各受信者に Databricks アカウントに関連付けられているデータのみを動的に配信します。

Delta Sharing でのパラメーターベースの動的パーティション共有の図

プロパティごとに動的にパーティション分割する機能がなければ、受信者ごとに個別の共有を作成する必要があります。

共有を作成または更新するときに受信者のプロパティでフィルター処理するパーティションを指定するには、カタログ エクスプローラーを使用するか、Databricks ノートブックまたは Databricks SQL クエリ エディターの CURRENT_RECIPIENT SQL 関数を使用できます。

注記

受信者プロパティは、Databricks Runtime 12.2 以降で使用できます。

  1. Databricks ワークスペースで、[データアイコン。 カタログ] をクリックします。

  2. [カタログ ] ウィンドウの上部にある [歯車のアイコン。] 歯車アイコンをクリックし、[ Delta Sharing ] を選択します。

    または、右上隅の 「共有」> Delta Sharing をクリックします。

  3. 自分が共有 タブで、更新する共有を見つけて、その名前をクリックします。

  4. アセットの管理 > データ アセットの追加 をクリックします。

  5. [ テーブルの追加 ] ページで、テーブルを含むカタログとデータベースを選択し、テーブルを選択します。

    テーブルが含まれているカタログとデータベースがわからない場合は、ワークスペース検索を使用して、名前、列名、またはコメントでテーブルを検索できます。ワークスペースオブジェクトの検索を参照してください。

  6. (オプション) パーティション 列の下の吹き出しとアイコン。をクリックして、パーティションを追加します。

    パーティションをテーブルに追加 ダイアログで、次の構文を使用してプロパティ・ベースのパーティション仕様を追加します。

    (<column-name> = CURRENT_RECIPIENT().<property-key>)

    例えば

    (country = CURRENT_RECIPIENT().country)
  7. [ 保存 ]をクリックします。

削除ベクトルまたは列マッピングを含むテーブルを共有に追加する

備考

プレビュー

この機能は パブリック プレビュー段階です。

削除ベクトルは、Delta テーブルで有効にできるストレージ最適化機能です。Databricks の削除ベクトルを参照してください。

Databricks では、Delta テーブルの列マッピングもサポートされています。 Delta Lake 列マッピングを使用した列の名前変更と削除を参照してください。

削除ベクトルまたは列マッピングを使用してテーブルを共有するには、履歴と共有する必要があります。 共有にテーブルを追加するを参照してください。

削除ベクトルまたは列マッピングを使用してテーブルを共有すると、受信者は SQLウェアハウス、 Databricks Runtime 14.1 以降を実行しているコンピュート、またはオープンソース delta-sharing-spark 3.1 以上を実行しているコンピュートを使用してテーブルをクエリできます。 削除ベクトルまたは列マッピングが有効になっているテーブルの読み取りおよび削除ベクトルまたは列マッピングが有効になっているテーブルの読み取りを参照してください。

共有にスキーマを追加する

スキーマを共有に追加する前に、要件を満たしていることを確認してください。

スキーマ全体を共有に追加すると、受信者は共有を作成した時点のスキーマ内のすべてのデータ資産だけでなく、時間の経過とともにスキーマに追加されたすべての資産にアクセスできるようになります。これには、スキーマ内のすべてのテーブル、ビュー、ボリュームが含まれます。この方法で共有されるテーブルには、常に完全な履歴が含まれます。

受信者とスキーマを共有する

共有にスキーマを追加するには、「 共有にテーブルを追加する」の指示に従い、スキーマの追加方法を指定する内容に注意してください。

SQLを使用してスキーマを追加、更新、または削除するには、 Databricks Runtime 13.3 LTS以上を実行している SQL ウェアハウスまたはクラスターが必要です。 カタログエクスプローラ を使用して同じことを実行する場合、コンピュートの要件はありません。

制限事項

  • サポートされていないデータ アセットが含まれている場合でも、スキーマを共有できます。これらのアセットはフィルターで除外され、受信者と共有されません。サポートされていないデータ資産には次のものが含まれます。

    • パーティション フィルタリングでリキッドクラスタリングを使用するテーブル
    • V2 チェックポイント付きの R2 テーブル
    • 照合が有効になっているテーブル
    • 行フィルターまたは列マスクを含むテーブル
    • SHALLOW CLONE tables
    • 共有テーブルにおける外部キー制約
  • スキーマ全体を共有する場合、テーブル別名、パーティション、ボリューム別名は使用できません。スキーマ内のアセットにエイリアスまたはパーティションを作成した場合、スキーマ全体を共有に追加すると、それらは削除されます。

  • スキーマ内のテーブルまたはボリュームの詳細オプションを指定する場合は、SQL を使用してテーブルまたはボリュームを共有し、テーブルまたはボリュームに別のスキーマ名を持つエイリアスを付ける必要があります。

  • スキーマ レベルのエイリアシングはサポートされていません。異なるカタログからの同じ名前のスキーマを同じ共有に追加することはできません。代わりに、エイリアス化されたスキーマ名を持つ個々のテーブルを共有します。

ABAC ポリシーによって保護されたテーブルとスキーマを共有に追加する

備考

プレビュー

この機能は パブリック プレビュー段階です。

属性ベースのアクセス制御 (ABAC)は、 Databricks全体に柔軟でスケーラブルな一元的なアクセス制御を提供するデータガバナンス モデルです。

標準テーブルと同様に、ABAC ポリシーによって保護されたテーブルまたはスキーマを共有できます。データ資産に ABAC ポリシーを適用する方法については、 「属性ベースのアクセス制御 (ABAC) ポリシーの作成と管理」を参照してください。

ただし、 特権ユーザー である必要があります。特権ユーザーは共有所有者で あり、 データ資産に適用される ABAC ポリシーから除外されるユーザーです。このポリシーは受信者のアクセスを管理するものではありません。受信者は共有アセットに完全にアクセスできます。ABAC 制限が適用されます。

ストリーミングテーブルを共有に追加する

ストリーミングテーブルは、ストリーミングまたは増分データ処理の追加サポートを備えた通常の Delta テーブルです。 ストリーミングテーブルは、追加専用のデータソース用に設計されており、入力を一度だけ処理します。 「Databricks SQLでストリーミングテーブルを使用する」を参照してください。

ストリーミング テーブルを共有に追加する前に、要件を満たしていることを確認してください。

追加要件

  • ワークスペースでワークスペース カタログ バインディングが有効になっている場合は、ワークスペースにストリーミング テーブルが含まれるカタログへの読み取りおよび書き込みアクセス権があることを確認してください。 詳細については、 「カタログへのアクセスを特定のワークスペースに制限する」を参照してください。
  • 共有可能なストリーミングテーブルは、 Delta テーブルまたはその他の共有可能なストリーミングテーブルまたはビューで定義する必要があります。
  • ストリーミングテーブルを共有に追加するときは、Databricks Runtime LTS 13.3 以上のコンピュートあるいはSQLウェアハウスを使用する必要があります。

制限事項

  • ストリーミングテーブルには、行フィルターと列マスクを含めることはできません。

    • ストリーミングテーブルのベーステーブルには、行フィルターと列マスクを含めることができます。
  • ストリーミングテーブルにはパーティション フィルターを含めることはできません。 代わりに、ストリーミングテーブルの上にビューを作成します。

受信者とストリーミングテーブルを共有する

ストリーミングテーブルを共有に追加するには:

  1. Databricks ワークスペースで、[データアイコン。 カタログ] をクリックします。

  2. [カタログ ] ウィンドウの上部にある [歯車のアイコン。] 歯車アイコンをクリックし、[ Delta Sharing ] を選択します。

    または、右上隅の 「共有」> Delta Sharing をクリックします。

  3. [ Shared by me ] タブで、ストリーミングテーブルを追加する共有を見つけて、その名前をクリックします。

  4. アセットの管理」>「アセットの編集 」をクリックします。

  5. [ アセットの編集 ] ページで、共有するストリーミングテーブルを検索または参照して選択します。

  6. (オプション) [エイリアス ] 列で [ 吹き出しとアイコン。 ] をクリックしてエイリアスまたは代替ストリーミングテーブル名を指定し、ストリーミングテーブル名を読みやすくします。エイリアスは、受信者に表示され、クエリで使用する必要がある名前です。エイリアスが指定されている場合、受信者は実際のストリーミングテーブル名を使用できません。

  7. [ 保存 ]をクリックします。

共有からストリーミングテーブルを削除する方法については、「 共有の更新」を参照してください

管理された Iceberg テーブルを共有に追加する

備考

プレビュー

この機能は パブリック プレビュー段階です。

Apache Icebergは、アナリティクス ワークロード用のオープンソース テーブル形式です。 Databricks では、Unity Catalog 内に マネージ Icebergテーブルと呼ばれる Iceberg テーブル を作成できます。

管理対象 Iceberg テーブルを共有に追加する前に、要件を満たしていることを確認してください。Icebergテーブルと管理対象Icebergテーブルの制限が適用されます。 Icebergテーブルの制限事項を参照してください。

注記

Databricks は、管理対象 Iceberg テーブルを外部の Iceberg クライアントと共有することをサポートしていません。

管理された Iceberg テーブルを共有に追加するには、次のようにします。

  1. Databricks ワークスペースで、[データアイコン。 カタログ] をクリックします。

  2. [カタログ ] ウィンドウの上部にある [歯車のアイコン。] 歯車アイコンをクリックし、[ Delta Sharing ] を選択します。

    または、右上隅の 「共有」> Delta Sharing をクリックします。

  3. [ 自分が共有 ] タブで、マネージド Iceberg テーブルを追加する共有を見つけて、その名前をクリックします。

  4. [ アセットの管理 ] > [ アセットの編集 ] をクリックします。

  5. アセットの編集 」ページで、共有する管理された Iceberg テーブルを検索または参照し、それを選択します。

  6. (オプション) [エイリアス ] 列で [ 吹き出しとアイコン。 ] をクリックしてエイリアスを指定するか、別のマネージド Iceberg テーブル名を指定すると、名前が読みやすくなります。エイリアスは、受信者に表示され、クエリで使用する必要がある名前です。エイリアスが指定されている場合、受信者は実際のマネージド Iceberg テーブル名を使用できません。

  7. [ 保存 ]をクリックします。

外部スキーマまたはテーブルを共有に追加する

備考

ベータ版

この機能はベータ版です。ワークスペース管理者は、 プレビュー ページからこの機能へのアクセスを制御できます。「Databricks プレビューの管理」を参照してください。

レイクハウスフェデレーションを使用すると、 Databricksを使用して外部データソースに対してクエリを実行できます。 Unity Catalogでデータ ガバナンスを追加して、これらのテーブルをクエリすることで、外部システムによって管理されるデータとメタデータを含む外部スキーマとテーブルを作成できます。 外部ソースへの接続の詳細については、 「レイクハウスフェデレーションとは?」を参照してください。 。

Delta Sharing を使用すると、Databricks にデータをコピーしたり、複雑なネットワーク設定や資格情報の転送を行ったりすることなく、元の場所から外部データを安全に共有できます。

外部スキーマまたはテーブルを共有に追加する前に、要件を満たしていることを確認してください。

追加要件

  • 外部スキーマ またはフォーリンテーブル共有が設定されているアカウントでは、ワークフロー、ノートブック、およびLakeflow Spark宣言型パイプラインに対してサーバレス コンピュートを有効にする必要があります。 「サーバレス コンピュートへの接続」を参照してください。

  • 外部のスキーマとテーブルを共有する場合、データはプロバイダー側でクエリされ、一時的にマテリアライズされます。デフォルトでは、具体化されたデータは、Databricks のデフォルト ストレージを使用して非表示のスキーマに保存されます。要件を満たしていることを確認し、デフォルトのストレージの制限を遵守してください。

    デフォルトストレージの地域別の可用性の詳細については、 「サーバレスの可用性」を参照してください。

    Databricks のデフォルト ストレージの使用をオプトアウトし、一時的な具体化に独自のストレージを使用するには、サポート ケースを開きます。

  • デフォルトストレージの使用を選択した場合は、アカウント レベルで 「デフォルトストレージのDelta Sharing – 拡張アクセス」 プレビューを有効にする必要があります。 Databricks プレビューの管理を参照してください。

推奨される使用パターン

クエリ結果はクエリごとにオンデマンドで生成されるため、フォーリンテーブルとスキーマの共有は、テーブルの共有やマテリアライズドビューに比べてコスト効率が低くなる可能性があります。 Databricks では、パフォーマンスを向上させるために次のことを推奨しています。

  • 一般的なクエリ結果のサイズは 10 GB 未満に抑えます。
  • 頻繁なデータ ダンプの代わりに、アドホックな探索的クエリを使用します。
  • クラウドトークン共有を使用する場合は、コスト効率とパフォーマンスを向上させるために、フォーリンテーブルの上に作成されたマテリアライズドビューを共有することを検討してください。

外部スキーマまたはテーブルを受信者と共有する

外部スキーマまたはテーブルを共有に追加するには、カタログ エクスプローラー、 Databricks Unity Catalog CLI 、またはDatabricksノートブックまたはDatabricks SQLクエリ エディターのSQLコマンドを使用します。

  1. Databricks ワークスペースで、[データアイコン。 カタログ] をクリックします。

  2. [カタログ ] ウィンドウの上部にある [歯車のアイコン。] 歯車アイコンをクリックし、[ Delta Sharing ] を選択します。

    または、右上隅の 「共有」> Delta Sharing をクリックします。

  3. [ 自分が共有] タブで、フォーリンテーブルまたはスキーマを追加する共有を見つけて、その名前をクリックします。

  4. アセットの管理」>「アセットの編集 」をクリックします。

  5. [アセットの編集] ページで、共有するフォーリンテーブルまたはスキーマを検索または参照して選択します。

  6. (オプション)「 エイリアス」 列で、「 吹き出しとアイコン。 」をクリックしてエイリアス、または代替の外部スキーマまたは表名を指定し、外部スキーマまたは表名を読みやすくします。エイリアスは、受信者が表示し、クエリで使用する必要がある名前です。エイリアスが指定されている場合、受信者は実際の外部スキーマまたはテーブル名を使用できません。

  7. [ 保存 ]をクリックします。

共有にビューを追加する

ビューは、1 つ以上のテーブルまたは他のビューから作成される読み取り専用オブジェクトです。 ビューは、Unity Catalog メタストア内の複数のスキーマとカタログに含まれるテーブルやその他のビューから作成できます。 ビューの作成と管理を参照してください。

共有にビューを追加する前に、要件を満たしていることを確認してください。

追加要件

  • 共有可能なビューは、 Delta テーブル、その他の共有可能なビュー、またはローカルのマテリアライズドビューとストリーミングテーブルで定義する必要があります。 共有可能なビューはフォーリンテーブルで定義できません。
  • 共有テーブルまたは共有ビューを参照するビューは共有できません。
  • SQL共有にビューを追加するときは、Databricks Runtime 13.3LTS 以上で ウェアハウスまたはコンピュートを使用する必要があります。
  • ワークスペースでワークスペース カタログ バインディングが有効になっている場合は、ワークスペースにカタログへの読み取りおよび書き込みアクセス権があることを確認します。詳細については、 「カタログへのアクセスを特定のワークスペースに制限する」を参照してください。
  • ビューを共有する場合、データがクエリされ、一時的にマテリアライズされます。マテリアライズされたデータは、ビューの親スキーマまたはカタログの保存場所、またはメタストアのルート場所に保存されます。
  • 保存場所にファイアウォールやプライベート リンクなどのカスタム ネットワーク構成がある場合は、受信者が保存場所に接続できるように許可リストに登録されていることを確認する必要があります。サーバレス コンピュートのファイアウォール ルールを構成する手順については、 「サーバレス コンピュート アクセス用のファイアウォールの構成 (レガシー)」を参照してください。

受信者とビューを共有する

このセクションでは、カタログ エクスプローラー、Databricks CLI、または Databricks ノートブックまたは Databricks SQL クエリ エディターの SQL コマンドを使用して、共有にビューを追加する方法について説明します。 Unity Catalog REST API を使用する場合は、REST API リファレンスの PATCH /api/2.1/unity-catalog/shares/ を参照してください。

  1. Databricks ワークスペースで、[データアイコン。 カタログ] をクリックします。

  2. [カタログ ] ウィンドウの上部にある [歯車のアイコン。] 歯車アイコンをクリックし、[ Delta Sharing ] を選択します。

    または、右上隅の 「共有」> Delta Sharing をクリックします。

  3. [ 自分が共有] タブで、ビューを追加する共有を見つけて、その名前をクリックします。

  4. アセットの管理 > データ アセットの追加 をクリックします。

  5. [ テーブルの追加 ] ページで、共有するビューを検索または参照し、それを選択します。

  6. (オプション)吹き出しとアイコン。 「エイリアス 」列の下の「 」をクリックして別のビュー名を指定するか、「 エイリアス 」をクリックしてビュー名を読みやすくします。エイリアスは、受信者に表示され、クエリで使用する必要がある名前です。受信者は、エイリアスが指定されている場合、実際のビュー名を使用できません。

  7. [ 保存 ]をクリックします。

共有からビューを削除する方法については、共有の更新を参照してください。

動的ビューを共有に追加して行と列をフィルター処理する

ダイナミックビューを使用して、次のようなテーブルデータへのきめ細かなアクセス制御を設定できます。

  • 列または行のレベルでのセキュリティ。
  • データマスキング。

CURRENT_RECIPIENT() 関数を使用する動的ビューを作成する場合は、受信者定義で指定したプロパティに従って受信者のアクセスを制限できます。

このセクションでは、動的ビューを使用して、行レベルと列レベルの両方でテーブルデータへの受信者のアクセスを制限する例を示します。

必要条件

  • 共有にビューを追加するための要件を満たしていることを確認します。
  • Databricks Runtime バージョン : CURRENT_RECIPIENT 関数は、Databricks Runtime 14.2 以降でサポートされています。

制限事項

  • ビュー共有のすべての制限が適用されます。
  • プロバイダーが CURRENT_RECIPIENT 関数を使用するビューを共有する場合、プロバイダーは共有コンテキストのためにビューに対して直接クエリを実行できません。このような動的ビューをテストするには、プロバイダーがビューを自分自身と共有し、受信者としてビューに対してクエリを実行する必要があります。
  • プロバイダーは、動的ビューを参照するビューを作成できません。

受信者のプロパティを設定する

これらの例では、共有するテーブルに countryという名前の列があり、一致する country プロパティを持つ受信者のみが特定の行または列を表示できます。

受信者のプロパティは、カタログ エクスプローラーまたは Databricks ノートブックまたは SQL クエリ エディターの SQL コマンドを使用して設定できます。

  1. Databricks ワークスペースで、[データアイコン。 カタログ] をクリックします。

  2. [カタログ ] ウィンドウの上部にある [歯車のアイコン。] 歯車アイコンをクリックし、[ Delta Sharing ] を選択します。

    または、右上隅の 「共有」> Delta Sharing をクリックします。

  3. 「受信者」 タブで、プロパティを追加する受信者を見つけて、その名前をクリックします。

  4. ページの右下にある 「受信者のプロパティ」 の下にある鉛筆アイコン。Databricks 受信者の場合は databricks.metastoreID の横に鉛筆アイコンが表示され、オープン受信者の場合は databricks.name の横に表示されます。

  5. 「 受信者のプロパティを編集 」ダイアログで、キーとして列名(この場合は country)を入力し、値としてフィルタリングする値( CAなど)を入力します。

  6. [ 保存 ]をクリックします。

受信者に行レベルの権限を持つダイナミックビューを作成してください

この例では、country プロパティが一致する受信者のみが特定の行を表示できます。

SQL
CREATE VIEW my_catalog.default.view1 AS
SELECT * FROM my_catalog.default.my_table
WHERE country = CURRENT_RECIPIENT('country');

別のオプションとして、データ プロバイダーが、ファクト テーブル フィールドを受信者プロパティにマップする別のマッピング テーブルを保持することもできます。これにより、受信者のプロパティとファクト テーブル フィールドを分離して柔軟性を高めることができます。

受信者用に列レベルの権限を持つダイナミックビューを作成してください

この例では、country プロパティに一致する受信者だけが特定の列を表示できます。 他のユーザーには、返されたデータが次のように表示されます REDACTED

SQL
CREATE VIEW my_catalog.default.view2 AS
SELECT
CASE
WHEN CURRENT_RECIPIENT('country') = 'US' THEN pii
ELSE 'REDACTED'
END AS pii
FROM my_catalog.default.my_table;

動的ビューを受信者と共有する

動的ビューを受信者と共有するには、標準ビューの場合と同じ SQL コマンドまたは UI プロシージャを使用します。 共有にビューを追加するを参照してください。

マテリアライズドビューを共有に追加する

ビューと同様に、マテリアライズドビューはクエリの結果であり、テーブルと同様にアクセスできます。通常のビューとは異なり、マテリアライズドビューの結果には、マテリアライズドビューが最後に更新されたときのデータの状態が反映されます。マテリアライズドビューの詳細については、Databricks SQLの「マテリアライズドビューを使用する」を参照してください。

マテリアライズドビューを共有に追加する前に、要件を満たしていることを確認してください。

追加要件

  • ワークスペースでワークスペース カタログ バインディングが有効になっている場合は、ワークスペースがマテリアライズドビューを含むカタログへの読み取りおよび書き込みアクセス権を持っていることを確認してください。 詳細については、 「カタログへのアクセスを特定のワークスペースに制限する」を参照してください。
  • Shareable マテリアライズドビューは、 Delta テーブルまたはその他の共有可能なストリーミングテーブル、ビュー、またはマテリアライズドビューで定義する必要があります。
  • 共有にマテリアライズドビューを追加するときは 13.3 以上で SQLウェアハウスまたはコンピュートを使用する必要があります。Databricks RuntimeLTS

制限事項

  • マテリアライズドビューには行フィルターを含めることはできませんが、マテリアライズドビューのベーステーブルには行フィルターと列マスクを含めることができます。
  • マテリアライズドビューには、パーティションフィルタを含めることはできません。 代わりに、マテリアライズドビューの上にビューを作成します。

マテリアライズドビューを受信者と共有する

このセクションでは、DatabricksCLI SQLDatabricksノートブックまたは クエリ エディタで カタログエクスプローラ、 、または コマンドを使用して、マテリアライズドビューを共有に追加する方法について説明します。Databricks SQLUnity Catalog REST API を使用する場合は、REST API リファレンスの PATCH /api/2.1/unity-catalog/shares/ を参照してください。

  1. Databricks ワークスペースで、[データアイコン。 カタログ] をクリックします。

  2. [カタログ ] ウィンドウの上部にある [歯車のアイコン。] 歯車アイコンをクリックし、[ Delta Sharing ] を選択します。

    または、右上隅の 「共有」> Delta Sharing をクリックします。

  3. [ 自分が共有] タブで、マテリアライズドビューを追加する共有を見つけて、その名前をクリックします。

  4. アセットの管理」>「アセットの編集 」をクリックします。

  5. [ アセットの編集 ] ページで、共有するマテリアライズドビューを検索または参照し、それを選択します。

  6. (オプション) [エイリアス ] 列で [ 吹き出しとアイコン。 ] をクリックしてエイリアスまたは代替のマテリアライズドビュー名を指定し、マテリアライズドビューの名前を読みやすくします。エイリアスは、受信者に表示され、クエリで使用する必要がある名前です。受信者は、エイリアスが指定されている場合、実際のマテリアライズドビュー名を使用できません。

  7. [ 保存 ]をクリックします。

共有からマテリアライズドビューを削除する方法については、共有の更新を参照してください。

共有にボリュームを追加します

ボリュームは、クラウド オブジェクト ストレージの場所にあるストレージの論理ボリュームを表す Unity Catalog オブジェクトです。 これらは主に、表形式以外のデータ資産に対するガバナンスを提供することを目的としています。 Unity Catalogボリュームとはを参照してください。

ボリュームを共有に追加する前に、要件を満たしていることを確認してください。

追加要件

  • ボリューム共有は、 Databricks-to-Databricks 共有でのみサポートされます。
  • 共有にボリュームを追加するときは、バージョン 2023.50 以降の SQLウェアハウス、または Databricks Runtime 14.1 以降のコンピュート リソースを使用する必要があります。
  • プロバイダー側のボリューム ストレージにカスタム ネットワーク構成 (ファイアウォールやプライベート リンクなど) がある場合、プロバイダーは、ボリュームのストレージ場所に接続できるように、受信者のデータ プレーン アドレスが適切に許可リストに登録されていることを確認する必要があります。カタログ エクスプローラーでは、受信側でボリュームが正しく表示されない場合があります。
注記

ボリュームコメントは、2024年7月25日以降に Databricks-to-Databricks 共有を使用して受信者と共有される共有に含まれます。 リリース日より前に受信者と共有された共有を通じてコメントの共有を開始する場合、コメント共有をトリガーするには、受信者のアクセス権を取り消して再付与する必要があります。

受信者とボリュームを共有する

このセクションでは、カタログエクスプローラ、Databricks CLI、または Databricks ノートブックまたは SQL クエリ エディターの SQL コマンドを使用して、共有にボリュームを追加する方法について説明します。 Unity Catalog REST APIを使用したい場合は、REST APIリファレンスのPATCH /api/2.1/unity-catalog/shares/ を参照してください。

  1. Databricks ワークスペースで、[データアイコン。 カタログ] をクリックします。

  2. [カタログ ] ウィンドウの上部にある [歯車のアイコン。] 歯車アイコンをクリックし、[ Delta Sharing ] を選択します。

    または、右上隅の 「共有」> Delta Sharing をクリックします。

  3. [ 自分が共有] タブで、ボリュームを追加する共有を見つけて、その名前をクリックします。

  4. アセットの管理」>「アセットの編集 」をクリックします。

  5. [ アセットの編集 ] ページで、共有するボリュームを検索または参照して選択します。

    または、ボリュームを含むスキーマ全体を選択することもできます。「共有へのスキーマの追加」を参照してください。

  6. (オプション)吹き出しとアイコン。 「エイリアス 」列の下の「 」をクリックして代替ボリューム名を指定するか、「 エイリアス 」をクリックしてボリューム名を読みやすくします。

    エイリアスは、スキーマ全体を選択した場合は使用できません。

    エイリアスは、受信者に表示され、クエリで使用する必要がある名前です。エイリアスが指定されている場合、受信者は実際のボリューム名を使用できません。

  7. [ 保存 ]をクリックします。

共有からのボリュームの削除に関する情報については、共有の更新を参照してください。

Python UDFを共有に追加する

ユーザー定義関数 (UDF) を使用すると、Databricks の組み込み機能を拡張するコードを再利用および共有できます。Python UDF を作成する方法については、 「ユーザー定義スカラー関数 - Python」を参照してください。

Python UDF を共有に追加する前に、要件を満たしていることを確認してください。

追加の制限

  • Python UDF をオープン受信者と共有することはできません。

Python UDFを受信者と共有する

このセクションでは、カタログ エクスプローラー、Databricks CLI、または Databricks ノートブックまたは SQL クエリ エディターの SQL コマンドを使用して、Python UDF を共有に追加する方法について説明します。Unity Catalog REST API を使用する場合は、REST API リファレンスのPATCH /api/2.1/unity-catalog/shares/を参照してください。

  1. Databricks ワークスペースで、[データアイコン。 カタログ] をクリックします。

  2. [カタログ ] ウィンドウの上部にある [歯車のアイコン。] 歯車アイコンをクリックし、[ Delta Sharing ] を選択します。

    または、右上隅の 「共有」> Delta Sharing をクリックします。

  3. 「私が共有」 タブで、Python UDF を追加する共有を見つけて、その名前をクリックします。

  4. アセットの管理」>「アセットの編集 」をクリックします。

  5. アセットの編集」 ページで、共有する Python UDF を検索または参照して選択します。

    あるいは、Python UDF を含むスキーマ全体を選択することもできます。「共有にスキーマを追加する」を参照してください。

  6. (オプション)クリック吹き出しとアイコン。 別名 列の下に、別の Python UDF 名を指定するか、 別名を 指定して Python UDF 名を読みやすくします。

    エイリアスは、スキーマ全体を選択した場合は使用できません。

    エイリアスは受信者に表示される名前であり、クエリで使用する必要があります。エイリアスが指定されている場合、受信者は実際の Python UDF 名を使用できません。

  7. [ 保存 ]をクリックします。

シェアにFeatureSpecs追加する

FeatureSpecは、ユーザー定義の機能と関数のセットです。受信者は共有FeatureSpecからFeature Servingエンドポイントを作成できます。 FeatureSpecsを作成する方法については、 FeatureSpecを作成する」を参照してください。

FeatureSpecs共有に追加する前に、要件を満たしていることを確認してください。

追加要件

  • すべての依存関係を共有に追加する必要があります。UI を使用してFeatureSpecを共有に追加すると、すべての依存関係が自動的に共有に追加されます。
  • モデルに依存関係が追加された場合は、共有にも追加する必要があります。

追加の制限

  • このアセットが別のモデルの依存関係である場合、エイリアスを指定することはできません。
  • FeatureSpecsオープン受信者と共有することはできません。

FeatureSpecs受信者と共有する

このセクションでは、カタログ エクスプローラー、Databricks CLI、または Databricks ノートブックまたは SQL クエリ エディターの SQL コマンドを使用して、 FeatureSpecs共有に追加する方法について説明します。Unity Catalog REST API を使用する場合は、REST API リファレンスのPATCH /api/2.1/unity-catalog/shares/を参照してください。

  1. Databricks ワークスペースで、[データアイコン。 カタログ] をクリックします。

  2. [カタログ ] ウィンドウの上部にある [歯車のアイコン。] 歯車アイコンをクリックし、[ Delta Sharing ] を選択します。

    または、右上隅の 「共有」> Delta Sharing をクリックします。

  3. [共有済み] タブで、 FeatureSpecを追加する共有を見つけて、その名前をクリックします。

  4. アセットの管理」>「アセットの編集 」をクリックします。

  5. [アセットの編集] ページで、共有するFeatureSpecを検索または参照して選択します。

    あるいは、 FeatureSpecを含むスキーマ全体を選択することもできます。「共有にスキーマを追加する」を参照してください。

  6. (オプション)クリック吹き出しとアイコン。 別名 列の下に別のFeatureSpec名を指定するか、 別名を 指定してFeatureSpec名をもっと読みやすくします。

    エイリアスは、スキーマ全体を選択した場合は使用できません。

    エイリアスは受信者に表示される名前であり、クエリで使用する必要があります。エイリアスが指定されている場合、受信者は実際のFeatureSpec名を使用できません。

  7. 依存関係がある場合は、「 すべての依存関係を追加」 ダイアログに、それらがすべて自動的に追加されたことが示されます。 [すべての依存関係を追加 ]をクリックします。

  8. [ 保存 ]をクリックします。

共有にモデルを追加する

モデルを共有に追加する前に、要件を満たしていることを確認してください。

注記

モデル コメントとモデル バージョン コメントは、 Databricks-to-Databricks 共有を使用して共有される共有に含まれます。

追加要件

  • モデル共有は、 Databricks-to-Databricks 共有でのみサポートされます。
  • 共有にモデルを追加するときは、バージョン 2023.50 以降の SQLウェアハウス、または Databricks Runtime 14.0 以降のコンピュート リソースを使用する必要があります。

受信者とモデルを共有する

このセクションでは、カタログ エクスプローラー、Databricks CLI、または Databricks ノートブックまたは SQL クエリ エディターの SQL コマンドを使用して、共有にモデルを追加する方法について説明します。 Unity Catalog REST APIを使用したい場合は、REST APIリファレンスの PATCH /api/2.1/unity-catalog/shares/を参照してください。

共有にモデルを追加するには:

  1. Databricks ワークスペースで、[データアイコン。 カタログ] をクリックします。

  2. [カタログ ] ウィンドウの上部にある [歯車のアイコン。] 歯車アイコンをクリックし、[ Delta Sharing ] を選択します。

    または、右上隅の 「共有」> Delta Sharing をクリックします。

  3. [ 自分が共有] タブで、モデルを追加する共有を見つけて、その名前をクリックします。

  4. アセットの管理」>「アセットの編集 」をクリックします。

  5. アセットの編集 」ページで、共有するモデルを検索または参照し、それを選択します。

    または、モデルを含むスキーマ全体を選択することもできます。「共有へのスキーマの追加」を参照してください。

  6. (オプション)[エイリアス]吹き出しとアイコン。 列の下の [] をクリックして代替モデル名を指定するか、[ エイリアス] をクリックしてモデル名を読みやすくします。

    エイリアスは、スキーマ全体を選択した場合は使用できません。

    エイリアスは、受信者に表示され、クエリで使用する必要がある名前です。受信者は、エイリアスが指定されている場合、実際のモデル名を使用できません。

  7. [ 保存 ]をクリックします。

共有からモデルを削除する方法については、共有の更新を参照してください。

ノートブック ファイルを共有に追加する

ノートブック ファイルを共有に追加する前に、要件を満たしていることを確認してください。

カタログエクスプローラ を使用して、ノートブック ファイルを共有に追加します。

  1. Databricks ワークスペースで、[データアイコン。 カタログ] をクリックします。

  2. Delta Sharing >」 ボタンをクリックします。

  3. [ 自分が共有] タブで、ノートブックを追加する共有を見つけて、その名前をクリックします。

  4. [ アセットの管理 ] をクリックし、[ ノートブック ファイルの追加 ] を選択します。

  5. [ ノートブック ファイルの追加 ] ページで、ファイル アイコンをクリックして、共有するノートブックを参照します。

    • 共有したいファイルをクリックして、「 選択 」をクリックします。
    • (オプション) [共有名 ] フィールド に、ファイルのユーザーフレンドリなエイリアスを指定します。これは受信者に表示される識別子です。
    • [ストレージの場所 ] で、ノートブックを保存するクラウド ストレージ内の外部の場所を入力します。 定義された外部位置の下にサブパスを指定できます。 外部ロケーションを指定しない場合、ノートブックはメタストア レベルのストレージの場所 (または「メタストアのルートの場所」) に保存されます。 メタストアのルートの場所が定義されていない場合は、ここに外部の場所を入力する必要があります。 「既存のメタストアに管理対象ストレージを追加する」を参照してください。
  6. [ 保存 ]をクリックします。

共有ノートブックファイルが 「アセット 」タブの ノートブックファイル リストに表示されます。

共有からノートブック ファイルを削除する

共有からノートブック ファイルを削除するには:

  1. Databricks ワークスペースで、[データアイコン。 カタログ] をクリックします。

  2. [カタログ ] ウィンドウの上部にある [歯車のアイコン。] 歯車アイコンをクリックし、[ Delta Sharing ] を選択します。

    または、右上隅の 「共有」> Delta Sharing をクリックします。

  3. [ 自分が共有] タブで、ノートブックを含む共有を見つけ、共有名をクリックします。

  4. [アセット] タブで、共有から削除するノートブック ファイルを見つけます。

  5. 行の右側にある ケバブメニューのアイコン。 ケバブメニューをクリックし、[ ノートブックファイルの削除 ]を選択します。

  6. 確認ダイアログで、[ 削除 ] をクリックします。

共有内のノートブック ファイルを更新する

既に共有しているノートブックを更新するには、再度追加して、[ 共有者 ] フィールドに新しいエイリアスを割り当てる必要があります。Databricks では、ノートブックの改訂された状態を示す名前 ( <old-name>-update-1など) を使用することをお勧めします。変更の受取人への通知が必要な場合があります。受信者は、更新を利用するために新しいノートブックを選択して複製する必要があります。

外部のIcebergクライアントへの共有を有効にする

備考

プレビュー

この機能は パブリック プレビュー段階です。

Deltaテーブル、外部Icebergテーブル、ビュー、マテリアライズドビュー、およびストリーミング テーブルを、 Apache Iceberg REST Catalog API使用する外部Icebergクライアントと共有できます。

共有する前に、データ資産を共有に追加するために必要なDelta Sharing の要件を満たしていることを確認してください。

注記

この機能は、管理された Iceberg テーブルの共有とは異なります。

追加の制限

  • 削除ベクトルが有効になっているテーブルはサポートされていません。
  • マネージドIcebergテーブルはサポートされていません。
  • デフォルトのストレージを使用するアセットは、外部の Iceberg クライアントと共有できません。Databricks のデフォルト ストレージを参照してください。

外部のIcebergクライアントと共有

データ資産を外部の Iceberg クライアントと共有するには:

  1. Delta テーブルを共有する場合は、各 Delta テーブルをIcebergCompatV3で構成して、Iceberg 互換テーブルとして公開します。これにより、標準の Delta 操作と並行して Iceberg メタデータを非同期に生成できるようになります。Delta テーブルを Iceberg クライアントと共有するための要件を満たしていることを確認し、制限事項を遵守してください。Iceberg 読み取りを有効にする方法については、 「Iceberg 読み取りを有効にする (UniForm)」を参照してください。

    Snowflake に共有する場合、受信者にはユニフォーム対応テーブルのみが表示されます。その他のテーブルはフィルタリングされます。

注記
  • DESCRIBE HISTORYを使用して、Iceberg クライアントからテーブルをクエリする前に Iceberg メタデータの生成が完了していることを確認します。
  • OIDC 認証タイプはサポートされていません。
  1. データ資産を共有に追加します。詳細な手順については、以下を参照してください。

重要

ビュー、マテリアライズドビュー、またはストリーミング テーブルを共有すると、プロバイダ側のデータ マテリアライゼーションがトリガーされ、コンピュート コストの蓄積につながる可能性があります。 詳細については、 Delta Sharingコストの発生と確認方法」を参照してください。

  1. オープンな受信者と共有します。受信者を作成し、共有へのアクセス権を付与する方法については、 「ベアラー トークンを使用して Databricks 以外のユーザーの受信者オブジェクトを作成する (オープン共有)」を参照してください。

受信者に共有へのアクセス権を付与する

受信者に共有へのアクセスを許可する前に、要件を満たしていることを確認してください。

手順については、 「Delta Sharing データ共有へのアクセスの管理 (プロバイダー向け)」を参照してください。このページでは、受信者の共有へのアクセスを取り消す方法についても説明します。

株式と共有の詳細を表示する

共有と共有の詳細を表示する前に、要件を満たしていることを確認してください。

共有のリストまたは共有に関する詳細を表示するには、カタログ エクスプローラー、 Databricks Unity Catalog CLI 、またはDatabricksノートブックまたはDatabricks SQLクエリ エディターのSQLコマンドを使用します。

シェアの詳細は次のとおりです。

  • 共有の所有者、作成者、作成タイムスタンプ、アップデーター、更新されたタイムスタンプ、コメント。
  • 共有内のデータ資産。
  • 共有へのアクセス権を持つ受信者。
  1. Databricks ワークスペースで、[データアイコン。 カタログ] をクリックします。

  2. [カタログ ] ウィンドウの上部にある [歯車のアイコン。] 歯車アイコンをクリックし、[ Delta Sharing ] を選択します。

    または、右上隅の 「共有」> Delta Sharing をクリックします。

  3. [共有 ] タブを開いて、共有の一覧を表示します。

  4. [ 詳細 ] タブで共有の詳細を表示します。

共有に対する権限を持っている受信者を表示します

受信者を表示する前に、要件を満たしていることを確認してください。

受信者にアクセスが許可されている共有のリストを表示するには、カタログ エクスプローラー、 Databricks Unity Catalog CLI 、またはDatabricksノートブックまたはDatabricks SQLクエリ エディターのSHOW GRANTS TO RECIPIENT SQLコマンドを使用します。

  1. Databricks ワークスペースで、[データアイコン。 カタログ] をクリックします。

  2. [カタログ ] ウィンドウの上部にある [歯車のアイコン。] 歯車アイコンをクリックし、[ Delta Sharing ] を選択します。

    または、右上隅の 「共有」> Delta Sharing をクリックします。

  3. [ 自分が共有] タブで、受信者を見つけて選択します。

  4. [ 受信者 ] タブに移動して、共有にアクセスできる受信者の一覧を表示します。

共有を更新する

共有を更新する前に、要件を満たしていることを確認してください。

共有は次の方法で更新できます。

  • 共有の名前を変更します。
  • 共有からテーブル、ビュー、ボリューム、スキーマを削除します。
  • 共有のコメントを追加または更新します。
  • テーブルのエイリアス (受信者に表示されるテーブル名) の名前を変更します。
  • テーブルの履歴データへのアクセスを有効または無効にして、受信者がテーブルのタイムトラベルクエリまたはストリーミング読み取りを実行できるようにします。
  • パーティション定義を追加、更新、または削除します。
  • 共有の所有者を変更します。

共有に対してこれらの更新を行うには、カタログ エクスプローラー、 Databricks Unity Catalog CLI 、またはDatabricksノートブックまたはDatabricks SQLクエリ エディターのSQLコマンドを使用します。 ただし、カタログ エクスプローラーを使用して共有の名前を変更することはできません。

  1. Databricks ワークスペースで、[データアイコン。 カタログ] をクリックします。

  2. [カタログ ] ウィンドウの上部にある [歯車のアイコン。] 歯車アイコンをクリックし、[ Delta Sharing ] を選択します。

    または、右上隅の 「共有」> Delta Sharing をクリックします。

  3. 自分が共有 タブで、更新する共有を見つけて、その名前をクリックします。

共有の詳細ページで、次の操作を行います。

  • [所有者] フィールドまたは [コメント] フィールドの横にある 編集アイコン 編集アイコンをクリックして、これらの値を更新します。
  • アセット行のケバブメニュー ケバブメニューのアイコン。 ボタンをクリックして、アセットを削除します。
  • アセットの管理」>「アセットの編集 」をクリックして、他のすべてのプロパティを更新します。
    • アセットを削除するには、アセットの横にあるチェックボックスをオフにします。
    • パーティション定義を追加、更新、または削除するには、[ 詳細オプション ] をクリックします。

共有所有者を更新する際の考慮事項

共有所有者は、ABAC ポリシーなどの承認およびセキュリティ機能の評価方法に影響します。共有所有権を過剰な権限を持つユーザーに譲渡すると、ABAC ポリシーによって保護されたテーブルまたはスキーマがある場合、受信者は過剰な権限を持つことができます。

共有を削除する

共有を削除すると、受信者は共有データにアクセスできなくなります。共有オブジェクトを削除する前に、要件を満たしていることを確認してください。

共有を削除するには、カタログ エクスプローラー、 Databricks Unity Catalog CLI 、またはDatabricksノートブックまたはDatabricks SQLクエリ エディターのDELETE SHARE SQLコマンドを使用します。 あなたはそのシェアの所有者でなければなりません。

  1. Databricks ワークスペースで、[データアイコン。 カタログ] をクリックします。

  2. [カタログ ] ウィンドウの上部にある [歯車のアイコン。] 歯車アイコンをクリックし、[ Delta Sharing ] を選択します。

    または、右上隅の 「共有」> Delta Sharing をクリックします。

  3. [ 自分が共有したユーザー] タブで、削除する共有を見つけて、その名前をクリックします。

  4. ケバブメニューのアイコン。ケバブメニューをクリックし、[ 削除 ]を選択します。

  5. 確認ダイアログで、[ 削除 ] をクリックします。