前見た時には、Delta Sharingで共有できるのはDeltaテーブルだけだったのですが、今日になってファイルやノートブックも共有できることに気づきました(遅い)。
いずれもDatabricks間での共有ですが、クラウドやアカウントを越えて共有できるのでユースケースは結構あると思います。
共有の設定
共有側(プロバイダー)をワークスペースA、利用側(受信者)をワークスペースBとします。
共有の作成:ワークスペースAでの作業
カタログエクスプローラで共有を作成します。Delta Sharingの自分が共有にアクセスし、データを共有をクリックして新規共有を作成します。
アセットを追加をクリックします。左のペインからテーブルやボリュームを選択して保存します。
さらに右上のアセットを管理をクリックし、ノートブックファイルを追加しますを選択します。
受信者の作成:ワークスペースBでの作業
別のクラウドやアカウントにあるDatabricksと共有する際には、受信側の共有識別子が必要となります。共有識別子は<cloud>:<region>:<uuid>
の形式となっており、以前は特定するのが面倒でしたが今では受信側のカタログエクスプローラで容易にコピーできます。
ワークスペースBのカタログエクスプローラにアクセスし、Delta Sharing > 自分と共有にアクセスします。画面上部に共有識別子のコピーボタンがあるのでこれをクリックしてコピーします。
受信者の作成:ワークスペースAでの作業
提供側のDelta Sharing > 自分が共有にアクセスし、上で作成した共有オブジェクトにアクセスし、受信者タブをクリックします。受信者を追加をクリックします。
受信者名を入力し、上でコピーした共有識別子を貼り付けて、受信者を作成および追加をクリックします。
受信者側の作業
以降はワークスペースBでの作業となります。
ファイル(ボリューム)へのアクセス
ワークスペースBのカタログエクスプローラにアクセスし、Delta Sharing > 自分と共有にアクセスします。プロバイダーに提供者一覧が表示されます。提供者名は提供側に確認してください。
提供側の共有が表示されます。カタログを作成をクリックします。
これで共有されたテーブルやボリュームにアクセスできるようになります。
ノートブックへのアクセス
上で作成したカタログにアクセスし、その他のアセットをクリックすると共有されているノートブックが表示されます。
クリックすることで内容を確認することができ、右上のクローン作成で任意の場所にコピーすることができます。
テーブルやファイルを共有する際には、サンプルとなるノートブックがあった方がコラボレーションが円滑になるかと思います。是非ご活用ください!