概要
「Cross Data Platforms Meetup #2」にて、「BigQuery ×Databricks × Snowflake の相互運用 ~忍び寄る Apache Iceberg をどう迎えるか~」というタイトルで発表しました。本記事では、その発表内容を整理してご紹介します。
資料
発表内容補足
manabian について
引用元:最強のデータ分析基盤を目指して~汎用的なデータ分析基盤の選定方法の提案~
引用元:データエンジニアリングの背景を踏まえてdbt(Data Build Tool)を少し深く理解してみる #Python - Qiita
引用元:サイロ化したBigQueryをAnalyticsHubにより統合するアーキテクチャの検討時のメモ #GoogleCloud - QiitaBigQuery
引用元:BigQuery × Spark:BigQuery サンドボックス環境と Google Colab で始める高速データ分析 #Python - Qiita
データ統合と相互運用性
データ統合は、組織内に散在するデータを一貫した形式で集約するプロセスを指します。ただし、単に集約するだけではなく、システム間で連携できる“相互運用性”を確保することも重要です。また、システム面だけでなく運用体制にも配慮する必要があります。
「DMBOK(データマネジメント知識体系ガイド)」でも、データガバナンスを考える上で重要な領域の1つとしてデータ統合と相互運用性が挙げられています。
出所:『データマネジメント知識体系ガイド 第二版』 DAMA International編著、DAMA日本支部、Metafindコンサルティング株式会社 監訳、日経BP
最新版のDMBOKでは、データ統合と相互運用性について以下のように説明されています。
データ統合はデータストア、アプリケーション、組織の内部および相互間におけるデータの移動と統合を表している。データの相互運用性とは様々なシステムが情報を連携する能力を表す。
出所:『データマネジメント知識体系ガイド 第二版 改定新版 』 DAMA International編著、DAMA日本支部、Metafindコンサルティング株式会社 監訳、日経BP
これらについては、書籍内の第8章に詳しく解説されていますので、興味がある方はぜひご一読ください。
出所:データマネジメント知識体系ガイド 第二版 改定新版 | 日経BOOKプラス
データ統合が必要なケース
データ統合が必要となる主なケースは以下の4つです。近年は特に、DWH同士の連携が注目を集めています。
- 業務系システム間でのデータ統合
- 業務系システムからデータ分析基盤(DWH等)へのデータ統合
- データ分析基盤(DWH等)間でのデータ統合
- データ分析基盤(DWH等)から他システムへのデータ統合
BigQuery とのデータ統合
Google Analytics のデータを BigQuery にエクスポートする機能がよく利用されています。
Snowflake と Databricks における BigQuery とのデータ統合機能には下記のようなものがあります。
- Snowflake
- Databricks
BigQuery には下記の方法で、データ統合ができる。
| # | データの連携方法 | 概要 |
|---|---|---|
| 1 | BigQuery へ連携する方法 | BigQuery のコンピューティングリソースにより BigQuery Storage にデータの書き込み/読み込みをする方法。 |
| 2 | BigQuery Storage API による方法 | BigQuery Storage に直接データを書き込み/読み込みをする方法。 コンピューティングリソースを用いないため割安。 |
| 3 | BigLake tables for Apache Iceberg in BigQuery による方法 | BigQuery のコンピューティングリソースにより GCS上の Iceberg テーブルにてデータを読み込みをする方法。 |
| 4 | Apache Iceberg external tables による方法 | BigQuery のコンピューティングリソースにより GCS上の Iceberg テーブルにてデータを読み込みをする方法。 |
| 5 | BigLake external tables for Delta Lake による方法 | BigQuery のコンピューティングリソースにより GCS上の Delta Lake テーブルにてデータを読み込みをする方法。 |
関連ドキュメントは下記。
- BigQuery リソースの整理 | Google Cloud
- Use the BigQuery Storage Read API to read table data | Google Cloud
- BigQuery 内の Apache Iceberg 用 BigLake テーブル | Google Cloud
- Apache Iceberg 外部テーブルを作成する | BigQuery | Google Cloud
- Delta Lake 用の BigLake 外部テーブルを作成する | BigQuery | Google Cloud
Open Table Format とは
Apache Iceberg について下記ブログにて言及しています。
出所:cloud.google.com/blog/ja/products/data-analytics/announcing-bigquery-tables-for-apache-iceberg
Google Cloud では BigLake metastore にて Apache Iceberg のカタログとして利用する方針が提示されています。
出所:BigQuery 内の Apache Iceberg 用 BigLake テーブル | Google Cloud
Apache Iceberg による相互運用の海外事例
2025年6月に開催された Databricks のイベントである Data + AI Summit 2025 のセッション。
- Breaking Silos: Enabling Databricks-Snowflake Interoperability With Iceberg and Unity Catalog
- Iceberg Table Format Adoption and Unified Metadata Catalog Implementation in Lakehouse Platform
日本でも Apache Iceberg の足音が。。。
下記リンク先にて事例が紹介されています。
- ANA 様事例
- NTTドコモ 様事例
- Google Cloud Next Tokyo 25
- Snowflake Summit 2025 の動画
BigQuery における OTF の活用
BigQuery の OTF 機能に関する検証結果の記事を公開していますなお、 OTF を理解するためには、 Google Colab (Spark)にて操作する方法がおすすめです。
- BigQuery 上で Apache Iceberg 用の BigQuery テーブル操作と Google Colab (spark)でのデータ参照の実施方法 #GoogleColaboratory - Qiita
- Google Colab の Spark にて Hadoop Catalog の Apache Iceberg の動作検証 #iceberg - Qiita
- Google Colab の Spark にて Delta Lake の動作検証 #GoogleColaboratory - Qiita
BigQuery × Snowflake における OTF の活用
- BigQuery 上で Apache Iceberg 用の BigQuery テーブルを Snowflake から参照する方法 #BigQuery - Qiita
- Google Cloud 以外の Snowflake にて Snowflake-managed Apache Iceberg テーブルを BigQuery から参照する方法 #BigQuery - Qiita
BigQuery × Databricks における OTF の活用
Uniyt Catalog に ストレージ資格情の設定が、 Databricks on Google Cloud でのみ言及されている。資格情報を Spark Config に設定する方法でアクセスは可能だが、 Databricks の Serverless 利用時には設定が不可能。
出所:Google Cloud Storageに接続するためのストレージ資格情報を作成する | Databricks on Google Cloud
Databricks -> BigQuery へのデータ連携時には、 Databricks の Deep Clone 機能が便利。
<参考> BigQuery -> Databricks のデータ連携方法
Databricks にて BigQuery と連携する方法については下記の記事で整理しています。
ビュー参照時にテーブルとは異なる権限が必要となることに注意してください。
出所:Databricks で BigQuery のデータを取得する方法の徹底ガイド #Spark - Qiita
Apache Iceberg 機能はまだ成長期
カタログを参照できる機能がリリースされてきており、 相互運用の少しずつ近づいています。
- Apache Iceberg™ テーブルにはカタログリンクデータベースを使用します | Snowflake Documentation
- Snowflakeカタログフェデレーションを有効にする | Databricks on AWS
Apache Iceberg の最新バージョンは v3 であるが、BigQuery、 Databricks、 BigQuery がサポートしているのは v2 です。 バージョンのダウンロードがサポートされていないことが言及されるなど、 Apache Iceberg のバージョン選定の調整が必要となります。
⚠️ Important: Before upgrading, make sure the table is not being accessed by engines or applications that don’t support v3 yet. Once upgraded, downgrading to v1 or v2 is not supported. For this reason, all readers must be compatible with v3. Note that the default version remains v2.
出所:Iceberg v3 + Starburst | Starburst
⚠️ 重要: アップグレードする前に、v3 をまだサポートしていないエンジンやアプリケーションによってテーブルがアクセスされていないことを確認してください。アップグレード後の v1 または v2 へのダウングレードはサポートされません。このため、すべてのリーダーは v3 と互換性がある必要があります。デフォルトのバージョンは v2 のままであることに注意してください。
上記翻訳
BigQuery から他クラウドのストレージを参照できる BigQuery Omni 機能にてサポートされているロケーションが限定的です。 AWS や Azure のストレージをベースにした基盤としている場合には、 GCS への連携方法も考慮する必要があります。












