はじめに
皆さんはデータ分析をどの環境で行っていますか?
ダッシュボード用のデータマートには、GoogleのBigQueryを使っている方も多いでしょう。
一方で、機械学習や統計分析を行う場合は、AWSのSageMakerやDatabricksのNotebook環境など別のクラウド環境を使う方も多いはずです。
BigQueryにあるデータを機械学習のモデルに組み込みたいとき....あるかなと思います。
なんと、Databricksではそれができます!
Lakehouse Federation機能を使えば、Databricksのカタログ製品であるUnity Catalog上にBigQueryの情報を連携させることができます。また、DatabricksのNotebookやSQLエディターで、BigQueryのデータを扱うことができます。
また、BigQueryの環境を移行することなく、BigQuery側でもそのままデータを使うことが可能です。
今回はBigQueryのデータを題材に、DatabricksのLakehouse Federationを紹介していきます。
対象読者
-
DWHでBigQueryを使っているが、機械学習ではDatabricks環境を使っている方
-
Databricksの本格的な導入を考えているが、工数をかけずに環境移行を行いたい方
そもそもLakehouse Federationて何?
Unity Catalogでは、フェデレーション機能によって、Databricks以外の環境の外部テーブルの取り込みの機能があります。
Databricksのフェデレーション機能は、Lakehouse Federationと呼ばれます。
Lakehouse Federationは、他のシステム上にあるデータを、もとのデータを移行することなく、Unity Catalog上で閲覧・操作することができる機能です。
フェデレーション機能でUnity Catalogに登録したデータは、内部で管理しているデータと同様に、SQLクエリエディターやノートブックといった他のDatabricksの機能にも連携することができます。
Lakehouse Federationは、以下のデータベースタイプへの接続をサポートしています。
BigQueryをUnity Catalog(カタログ)に登録
では、実際にLakehouse Federationを用いて、BigQueryをUnity Catalog(以下GUI上の名称のカタログで説明)に登録していきます。
カタログの「⚙️」から「接続」を押下します。
次に接続の基本で、接続タイプをGoogle BigQueryを押します。
認証には、BigQuery側でサービスアカウントの発行が必要となります。
Step3では、実際に登録をするカタログ名を設定します。
この際に、BigQuery側との接続情報を確認します。
なおBigQueryのサービスアカウントには、bigquery.jobs.create(かそれ以上)の権限が必要になります。
Step4-5ではアクセス権限の付与と、メタデータ管理に使えるタグの設定が可能です。
Databricksで使える機能
Unity Catalogに登録すると、「履歴」以外のテーブル機能で使えるものが対応していました。
下記のように、概要のメタデータ機能や、サンプルデータもUnity Catalog上で確認することが可能です。
写真のデータは、気象庁が発布する最高気温の1週間分のデータになります。
その他、Unity Catalogのテーブル機能で利用できる項目に関しては、Databricksの公式ドキュメントの該当部分をご確認ください。
また、フェデレーション機能で登録したテーブルに関しては、Databricks内のSQLエディター、ノートブックで、BigQueryのデータを用いてSQLでのコーディングが可能なほか、ダッシュボードの作成も可能でした。
まとめ
今回はBigQueryを題材に、Lakehouse Federationをご紹介してきました。
なんといっても一番のメリットは、元の環境をそのままにBigQueryのデータをDatabrick上で扱える点だと考えています。
また、カタログへの登録方法も、GUI上で完結するもので、非常に楽な仕様になっていました。
BigQueryとDatabricksの両方を活用されている方、Databricksを今後本格的に活用したい方には、フェデレーション機能は非常に有用だと考えています。