Azure DatabricksのLakehouse Federationを用いたSnowflake連携方法

本投稿はAzure DatabricksのUnity Catalog上でSnowflakeのデータベースを登録し、データ参照するためのLakehouse Federation有効化の手順について説明します。

参考URL: learn.microsoft.com

※ なお、本記事は、Azure Databricksをある程度使い慣れている方向けに書いていますので、Azure Databricksの概要や用語の解説は割愛しています。

連携のために作成するDatabricks Unity Catalogリソース

Snowflakeとの連携を設定するために、下記のリソースを作成します。

  • 接続(CONNECTION)
    • 外部データベース システムにアクセスするためのパスと資格情報を指定するためのリソース
  • 外部カタログ(FOREIGN CATALOG)
    • 外部データ システム内のデータベースをミラーリングし、Azure Databricks と Unity Catalog を使ってそのデータベース内のデータに対するクエリの実行とアクセス管理ができるようにするためのリソース

要件

今回の構成に必要なDatabricksの構成要件は下記の通りです。

  • ワークスペース
    • Unity Catalogが有効化されていること
  • コンピューティング
    • Databricks クラスター/SQLウェアハウスから対象データベースシステムへのネットワーク接続。
  • クラスタを使用する場合の要件
    • Runtimeは13.1以降。
    • Unity Catalogをサポートするクラスタモードの利用(共有またはシングルユーザーアクセスモード)
    • 参考URL: クラスタのアクセスモード
  • SQLウェアハウスを使用する場合の要件
    • Pro またはサーバーレスSQLウェアハウスの利用
  • 作成に必要な権限
    • 接続を作成するために必要なUnity Catalogの権限
      • CREATE CONNECTION権限
    • 外部カタログを作成のために必要なUnity Catalogの権限
      • CREATE FOREIGN CATALOG権限 (またはCREATE CATALOG権限と外部接続のOWNERSHIP権限)

手順

ここからは実際にLakehouse Federationを有効化する手順をご紹介します。

接続の作成

カタログエクスプローラより「接続」を選択し「接続を作成」を押下します。

新しい接続を作成」の各項目を入力し「接続のテスト」を押下します。

項目名 設定値
接続名 任意の接続名
接続タイプ Snowflake
ユーザー Snowflakeで使用するユーザー名
パスワード Snowflakeで使用するユーザーパスワード
ホスト Snowflake側のホスト
例: xxxxx.ap-northeast-1.aws.snowflakecomputing.com
Snowflakeウェアハウス Snowflakeユーザーが使用するウェアハウス

アクティブなウェハウスを使用して「テスト」を押下します。

正常に接続されることを確認後、「作成」を押下します。

外部カタログの作成

前手順で作成した接続の画面から「カタログを作成」を押下します。

「新規カタログを作成」の各項目を入力し「作成」を押下します。

項目名 設定値
カタログ名 任意のカタログ名
データベース Snowflakeで利用するデータベース名

リソース作成後の確認

UI上から、Snowflakeデータベース配下のスキーマ一覧が確認できます。

Databricksのテーブル同様に、テーブルのカラム情報やメタ情報も確認できます。

データの参照も通常のSELECT文によって取得することができます。

[参考] Lakehouse Federationでサポートされるデータソース

本記事では、Snowflakeとの連携方法を説明しましたが、Azure DatabricksのLakehouse Federationでは、Snowflake以外にも以下データベースとの連携をサポートします。

データベース
MySQL
PostgreSQL
Amazon Redshift
Snowflake
Microsoft SQL Server
Azure Synapse (SQL Data Warehouse)
Google BigQuery
Databricks

まとめ

本記事ではAzure DatabricksのLakehouse Federationを用いたSnowflake連携方法の説明と検証を行いました。

今後もAzure Databricksに関する記事を投稿する予定ですので、是非ご一読下さい。

執筆担当者プロフィール
佐藤 史彦

佐藤 史彦(日本ビジネスシステムズ株式会社)

Azure、AWS、Snowflake、Databricksなどを扱っています。

担当記事一覧