0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Databricks Clean Roomsのウォークスルー

Posted at

触ったことなかったので触ってみます。

プレビュー
本機能はパブリックプレビューです。

Databricks Clean Roomsとは

データやAIの重要性は増加の一途を辿っています。単一の企業内のみでのデータ活用では得られる示唆に限界があります。パートナーや外部ベンダーとのデータ連携によって、これまでに得られなかったような洞察によってイノベーションの可能性が高まりますが、データ漏えいのリスクは到底無視できるものではありません。

Databricks Clean Rooms(クリーンルーム)では、データをコピーすることなしに安全にデータを共有し、相互承認されたロジックのみの実行を許可する空間を提供します。

Screenshot 2024-09-30 at 16.50.38.png

これによって、プライバシーに妥協したり、機微データを共有することなしに、すべてのクラウド上の顧客やパートナーと容易にコラボレーションできるようになります。クリーンルームの参加者は自身の既存データを安全に共有、結合することができ、MLに対するネイティブサポートを提供するPythonのような任意の言語を用いて複雑なワークロードを実行することができます。クリーンルームでコラボレーションする際、あなたのデータは移動せず、データがどこでどのように使われるのかに関して常に管理下に置くことができます。

詳細は以下の記事をご覧ください。

ウォークスルー

マニュアルに沿って作業していきます。以降では2者を以下のように呼称します。

  • クリエーター: クリーンルームの作成者
  • コラボレーター: 作成されたクリーンルームで共同作業を行う人

前提条件

  • クリーンルームでコラボレーションする2者のDatabricksアカウントが、両方ともプレビューに参加している必要があります。

クリーンルームの作成

まずは、共同作業の場となるクリーンルームを作成します。

クリエーターの作業

自分のワークスペースでカタログエクスプローラからクリーンルームにアクセスします。
Screenshot 2024-09-30 at 16.22.49.png

クリーンルームを作成をクリックします。クリーンルームの名称やクラウドプロバイダーとリージョン、説明文を入力します。
Screenshot 2024-09-30 at 15.37.58.png

ここで重要なのは、コラボレーターの詳細にあるClean Room sharing identifierです。これは、コラボレーターの方から共有いただく必要があります。

コラボレーターの作業

自分のワークスペースでカタログエクスプローラにアクセスし、クリエーター同様にクリーンルームにアクセスします。右上のメタストア名をクリックし、Copy Clean room sharing identfierをクリックして共有識別子をコピーし、クリエーターに共有します。

Screenshot 2024-09-30 at 15.42.55.png

クリエーターの作業

共有された共有識別子を入力して、クリーンルームを作成をクリックします。クリーンルームのセットアッププロセスが起動します。

Screenshot 2024-09-30 at 15.43.31.png

データアセットの追加

Screenshot 2024-09-30 at 15.50.03.png

クリエーターとコラボレーターは、自分のテーブルをデータアセットとして、クリーンルームに共有することができます。クリーンルームにおいては、以下のような仮想的なカタログの配下に各パーティのデータアセットが共有されます。

  • creator: クリエーターが共有しているデータアセットを格納するカタログ
  • collaborator: コラボレーターが共有しているデータアセットを格納するカタログ

クリエーターの作業

クリエーター側からフライトのテーブルを共有します。

Screenshot 2024-09-30 at 15.50.36.png

Screenshot 2024-09-30 at 15.54.30.png

テーブルが共有されると、コラボレーター側でも確認できます。

ノートブックの追加

共有されているデータに対して処理を行うには、ノートブックをクリーンルームに共有する必要があります。ここでは、クリエーター側でノートブックを作成します。

df = spark.table("creator.airlinedata_takaaki_yayoi.flights")
display(df)

Screenshot 2024-09-30 at 15.54.17.png

Screenshot 2024-09-30 at 15.54.58.png

ノートブックの実行

クリーンルームでのノートブックの実行には相互承認が必要となります。クリエーターがノートブックを作成した場合、クリエーターはノートブックを実行できません。コラボレーターがノートブックの中身を確認した上で実行する形となります。

以下の例では、クリエーターがノートブックを参照しているので実行ボタンがグレーアウトされています。
Screenshot 2024-09-30 at 15.57.29.png

コラボレーターの作業

コラボレーターがノートブックにアクセスすると、実行ボタンが活性化しています。

Screenshot 2024-09-30 at 15.57.50.png

内容を確認して実行ボタンをクリックします。
Screenshot 2024-09-30 at 15.58.05.png
Screenshot 2024-09-30 at 15.58.10.png

ジョブの実行タブで状況を確認できます。
Screenshot 2024-09-30 at 16.00.18.png

処理が完了しました。
Screenshot 2024-09-30 at 16.01.35.png

さらにデータアセットを追加

今度は、コラボレーターからもテーブルを共有します。航空会社のコードから航空会社名を紐づけるテーブルを登録します。

コラボレーターの作業

Screenshot 2024-09-30 at 16.05.41.png
Screenshot 2024-09-30 at 16.07.07.png

クリエーターの作業

二つのテーブルを結合する新たなノートブックを作成します。

Table join
df_airline = spark.table("creator.airlinedata_takaaki_yayoi.flights")
df_lookup = spark.table("collaborator.airlinedata_takaaki_yayoi.lookupcodes")
df_final = df_airline.join(df_lookup, df_airline.UniqueCarrier == df_lookup.UniqueCode)

display(df_final)

クリーンルームに登録します。

Screenshot 2024-09-30 at 16.10.24.png

再度ノートブックを実行

コラボレーターの作業

クリエーターから共有されたノートブックを確認して実行します。

Screenshot 2024-09-30 at 16.15.49.png

お互いに持ち寄ったテーブルを用いて処理を実行することができました!

Screenshot 2024-09-30 at 16.18.11.png

はじめてのDatabricks

はじめてのDatabricks

Databricks無料トライアル

Databricks無料トライアル

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?