Apache Iceberg活用入門 オープンテーブルフォーマットによるデータレイク&データレイクハウス
Tomer Shiran
インプレス大規模なデータ基盤の課題を解決するオープンソースのテーブルフォーマット「Apache Iceberg」の解説書。Icebergの仕組みから、データ活用の効率化、主要ツールでの実践的な使い方、本番環境での運用ノウハウまで、幅広く網羅。データエンジニアやデータレイクハウスの構築・運用に携わる方におすすめの一冊。
書籍情報
著者: Tomer Shiran
共著者: , Jason Hughes, Alex Merced(著), 蛯原 裕弥, 佐野 千紘(監修)
発行日: 2025-11-12
最終更新日: 2025-11-12
バージョン: 1.0.0
ページ数: 480ページ(PDF版換算)ページ
対応フォーマット: PDF, EPUB
出版社: インプレス
対象読者
○データエンジニア、データアーキテクト○データレイクハウスの構築・運用に関わる方○ビッグデータ基盤のパフォーマンスやコストに課題を感じている方
著者について
Dremioの創業者兼最高製品責任者(Chief Product Officer)。Dremioはオープンなデータレイクハウスを提供し、企業がデータウェアハウスのコストや複雑さ、ベンダーへのロックインを気にせずに、クラウドで分析を実行できるようにする。Dremioの創業CEOとして、Tomerは4億ドル以上を調達し、世界の最大手企業、特にフォーチュン5の3社を含む数百の企業にサービスを提供する世界クラスの組織を築き上げた。Dremioの前には、ビッグデータ分析の先駆者であるMapRの4番目の社員であり、製品の最高責任者を務めた。また、MicrosoftやIBM Researchで多数のプロダクトマネジメントおよびエンジニアリングの役職を歴任し、数百万人のユーザーと数十万人の課金顧客を対象としたウェブサイトを創設。広範な業界トピックに関する著名な著者およびプレゼンターでもあり、カーネギーメロン大学でコンピュータエンジニアリングの修士号、イスラエル工科大学(Technion)でコンピュータサイエンスの学士号を取得している。
目次
日本語版の刊行にあたって── 翻訳・監修者による前書き
- 推薦のことば
- 目次
- 序文
- フィードバックと質問
- 表記上のルール
- コード例や追加資料/謝辞
- 翻訳・監修者謝辞
第1部 Apache Icebergの基礎
第1章 Apache Icebergへようこそ
- 1-1 どのようにここまでたどり着いたのか? 簡単な歴史の振り返り
- 1-2 データウェアハウス
- 1-3 データレイク
- 1-4 データレイクとデータウェアハウスのどちらで分析するとよいか?
- 1-5 データレイクハウス
- 1-6 テーブルフォーマットとは何か?
- 1-7 Hive:最初のテーブルフォーマット
- 1-8 モダンなデータレイクのテーブルフォーマット
- 1-9 Apache Icebergとは何か?
- 1-10 まとめ
第2章 Apache Icebergのアーキテクチャ
- 2-1 データレイヤー
- 2-2 メタデータレイヤー
- 2-3 カタログ
- 2-4 まとめ
第3章 読み書きを行なうクエリのライフサイクル
- 3-1 Apache Icebergにおける書き込みクエリ
- 3-2 Apache Icebergにおける読み取りクエリ
- 3-3 まとめ
第4章 Icebergテーブルの最適化/4-1 コンパクション
- 4-2 コンパクションの演習
- 4-3 ソート
- 4-4 Z オーダー
- 4-5 パーティショニング
- 4-6 コピーオンライトvsマージオンリード
- 4-7 その他の考慮点
- 4-8 まとめ
第5章 Icebergカタログ/5-1 Icebergカタログの要件
- 5-2 カタログの比較
- 5-3 カタログの移行
- 5-4 まとめ
第2部 Apache Icebergハンズオン
第6章 Apache Spark
- 6-1 設定
- 6-2 DDLの操作
- 6-3 データの読み込み
- 6-4 データの書き込み
- 6-5 Icebergテーブルを管理するためのプロシージャ
- 6-6 まとめ
第7章 Dremio SQLクエリエンジン/7-1 設定
- 7-2 DDLの操作
- 7-3 データの読み込み
- 7-4 データの書き込み
- 7-5 Icebergテーブルを管理するためのプロシージャ
- 7-6 まとめ
- 監修・補足 Trino SQLクエリエンジン
- A-1 設定
- A-2 DDLの操作
- A-3 データの読み込み
- A-4 データの書き込み
- A-5 Icebergテーブルを管理するためのプロシージャ
- 監修・補足 Apache Hive SQLクエリエンジン
- B-1 設定
- B-2 DDL の操作
- B-3 DML の操作
- B-4 データの読み込み
- B-5 Icebergテーブルを管理するためのプロシージャ
第8章 AWS Glue
- 8-1 設定
- 8-2 Glueカタログを用いたテーブル作成
- 8-3 まとめ
第9章 Apache Flink
- 9-1 設定
- 9-2 DDL の操作
- 9-3 データの読み込み
- 9-4 データの書き込み
- 9-5 FlinkのDataStreamおよびTable API を使用したApache Icebergテーブル操作
- 9-6 まとめ
第3部 Apache Iceberg実践
第10章 Apache Icebergの本番利用
- 10-1 Apache Icebergのメタデータテーブル
- 10-2 ブランチを利用した変更の分離
- 10-3 マルチテーブルトランザクション
- 10-4 変更のロールバック
- 10-5 まとめ
第11章 Apache Icebergとストリーミング処理
- 11-1 Apache Sparkを利用したストリーミング
- 11-2 Apache Flinkを利用したストリーミング
- 11-3 Kafka Connectを利用したストリーミング
- 11-4 AWS を利用したストリーミング
- 11-5 まとめ
第12章 ガバナンスおよびセキュリティ
- 12-1 データファイルの安全化
- 12-2 セマンティックレイヤーにおける安全化と制御
- 12-3 カタログレベルでのセキュリティとガバナンス
- 12-4 安全性と制御に関する追加の考慮事項
- 12-5 まとめ
第13章 Apache Icebergへの移行
- 13-1 移行の際の考慮事項
- 13-2 HiveテーブルからIcebergテーブルへの移行
- 13-3 Delta LakeからApache Icebergへの移行
- 13-4 Apache HudiからApache Icebergへの移行
- 13-5 ファイル単位でのApache Icebergへの移行
- 13-6 データの再書き込みによる移行
- 13-7 まとめ
第14章 Apache Icebergのユースケース
- 14-1 Apache IcebergにおけるWrite-Audit-Publish(WAP)を用いたデータ品質の確保
- 14-2 データレイク上でのBIワークロードの実行
- 14-3 Apache Icebergを用いたCDCの実行
- 14-4 まとめ
- 監修・補足 PyIcebergの利用方法
- 監修・補足 Iceberg Rust
- 監修・補足 LINE ヤフーの活用事例