Share data using the Delta Sharing Databricks-to-Databricks protocol | Databricks on AWS [2022/11/3時点]の翻訳です。
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
本書では、Unity Catalogが有効化されているユーザーであれば、アカウントやクラウドホストに関係なく、任意のDatabricksユーザーとデータをセキュアに共有するために、Databricks間でどのようにDelta Sharingを活用するのかを説明します。
注意
Unity Catalogが有効化されたDatabricksワークスペースにアクセスできないユーザーとどの様にデータを共有するのかを知りたいのであれば、Share data using the Delta Sharing open sharing protocolをご覧ください。データ受信者(Databricksのデータが共有されているユーザーあるいはグループ)である場合には、Delta Sharingを用いて共有データにアクセスするをご覧ください。
Delta Sharingのイントロダクションと、オープンな共有とDatabricks間共有の比較に関しては、Delta Sharingによるデータ共有をご覧ください。
Databricks間におけるDelta Sharingワークフロー
このセクションでは、Databricks間でのワークフローのハイレベルな概要と、それぞれのステップにおける詳細なドキュメントへのリンクを説明します。
Databricks間Delta Sharingモデルにおいては:
-
データの受信者はデータ提供者に対して、データ提供者が共有しているデータへのアクセスにデータ受信者(ユーザーあるいはグループ)が使うDatabricksワークスペースにアタッチされているDatabricks Unity Catalogのメタストアユニークな共有IDを提供します。
詳細は、Step 1: Request the recipient’s sharing identifierをご覧ください。
-
データ提供者は、提供者側のUnity Catalogメタストアに共有を作成します。この名前付きオブジェクトには、メタストアに登録されているテーブルのコレクションが含まれます。
詳細は、Create and manage shares for Delta Sharingをご覧ください。
-
データ提供者は提供者側のUnity Catalogメタストアに受信者オブジェクトを作成します。この名前付きオブジェクトには、共有に含まれるデータにアクセ得するユーザーやグループと、ユーザーやグループが共有へのアクセスに使うワークスペースにアタッチされているUnity Catalogメタストアの共有IDが含まれます。共有IDはセキュアな接続を実現する鍵のIDです。
詳細は、Step 2: Create the recipientをご覧ください。
-
データ提供者は共有に対する受信者のアクセスを許可します。
詳細は、Grant and manage access to Delta Sharing data sharesをご覧ください。
-
受信者のDatabricksワークスペースで共有を利用できる様になり、ユーザーはData Explorer、Databricks CLI、DatabricksノートブックにおけるSQLコマンドや、Databricks SQLクエリーエディタでアクセスできる様になります。
共有内のテーブルにアクセするには、メタストア管理者あるいは権限のあるユーザーが共有からカタログを作成する必要があります。そして、そのユーザーあるいは適切な権限が許可されたユーザーが、別のユーザーにUnity Catalogに登録されている他のカタログ、スキーマ、テーブルと同じ様に、カタログやカタログ内のオブジェクトへのアクセスを許可することができます。ここでの大きな違いは、Delta Sharingの共有から作成されるカタログのオブジェクトに対しては読み取りアクセスのみを許可できるということです。
詳細は、Read data shared using Databricks-to-Databricks Delta Sharingをご覧ください。