社内でサーバレス熱が高まっているので、自分も乗っかります。
嬉々として以前こちらの記事を書きました。
しかし、今時点では西日本リージョンではサーバレスSQLが使えません。申し訳ありません。
こちらではワークアラウンドとしてDelta Sharingを使う方法をご紹介します。@kohei-araiさんに教えてもらいました。
全体像
データは西日本リージョンに配置しておきながらも、サーバレスを使える東日本リージョンにDelta Sharigでデータを共有します。この際、データのコピーは発生せず、東日本リージョンから直接西日本リージョンのデータを読み込む形になります。こちらにあるDatabricks 間共有を行います。
アカウントコンソールでの作業
いずれのリージョンでもUnity CatalogおよびDelta Sharingを有効化します。
東日本
今回の例では西日本側でUnity Catalogを有効化していなかったので、メタストアを作成してワークスペースにアタッチします。
Delta Sharingの配下にあるDatabricksのユーザーが組織外にデータを共有できるように、Delta Sharingを有効化します
をチェックします。
トークンの有効期間や組織名を設定して有効化をクリックします。
東日本
西日本ワークスペースでの作業
カタログエクスプローラで共有するテーブルを格納する、カタログとスキーマ(データベース)を作成します。
ここではCOVID感染者数のCSVを使ってテーブルを作成しています。
カタログエクスプローラ右側のDelta Sharingにアクセスし、自分が共有をクリックします。データを共有をクリックします。
アセットを追加をクリックします。スキーマにチェックを入れ権限を付与して選択をクリックします。
受信者を追加する前に東日本のワークスペースで作業します。
東日本ワークスペースでの作業
SQLノートブックを作成して以下を実行します。
SELECT CURRENT_METASTORE();
azure:japaneast:xxxxx
上の識別子をコピーしておきます。
(再度)西日本ワークスペースでの作業
カタログエクスプローラで上で作成した共有にアクセスし、新たな受信者をクリックします。共有識別子上の識別子を入力して、作成をクリックします。
(再度)東日本ワークスペースでの作業
カタログエクスプローラのDelta Sharing > 自分と共有を選択し、上で設定されている共有が表示されていることを確認します。
これでカタログエクスプローラは以下のカタログとして西日本リージョンのテーブルが表示されるようになります。
東日本リージョンはサーバレスSQLが使えるので、データの確認もサクサクです。
ご活用ください!