@hihihiroroのLog

ダラダラと。本ブログは、個人の意見であり、所属会社とは関係がありません。

「Apache Iceberg 活用入門」を読んだ

盛り上がっているよね Iceberg 。この流れにのれるように準備しておこう。
もう1冊夏くらいにでていたのだが読んだ気がしていたが、あれー?

目次は以下。

  • 第1部 Apache Iceberg の基礎
    • 第1章 Apache Iceberg へようこそ
    • 第2章 Apache Iceberg のアーキテクチャ
    • 第3章 読み書きを行なうクエリのライフサイクル
    • 第4章 Iceberg テーブルの最適化
    • 第5章 Iceberg カタログ
  • 第2部 Apache Iceberg ハンズオン
    • 第6章 Apache Spark
    • 第7章 Dremio SQL クエリエンジン
    • 第8章 AWS Glue
    • 第9章 Apache Flink
  • 第3部 Apache Iceberg ハンズオン
    • 第10章 Apache Iceberg の本番利用
    • 第11章 Apache Iceberg とストリーミング処理
    • 第12章 ガバナスおよびセキュリティ
    • 第13章 Apache Iceberg への移行
    • 第14章 Apache Iceberg のユースケース

第1部ではIceberg のフォーマットなどについてこれでもかってくらい説明されている。Iceberg って何が良くてどうしてそんなにいろいろできるのってことがわかるような説明がされている。アーキテクチャやSpark、Trino、Hive でのハンズオンがいくつかあり実際に触ってみる感触が得れると思う。
他にも、PyIcebergやIceberg Rust についても記載がある。自分のPC でローカルでいじることがこれでとてもしやすくなる。Rust はやっぱりちょっと触ってみるのが良さそうだな。

Iceberg テーブルのプロパティだけではなくメンテナンスについても記載があるのがとても役に立つ。重要なSpark プロシージャについてパラメータ含めて厚めに解説があった。パラメータについて詳しく記載があるので本番運用するにはとても良さそう。

他にも本番利用をするために気にするべきことの記載があったり、セキュリティについての記載など実運用で考えなければとなる部分での記載があるので勉強になった。他にインプレース移行、シャドウ移行などの移行方法については知らないことだったので学びになった。実際にIceberg でなければ解決できなくなった際には考えるべき一つになるだろうと思う。

また、ユースケースの章ではデータレイクにおけるデータ品質の確保方法やBIレポートの構築、CDC についてなどが記載されており読んでいてワクワクした。
また、日本語版だけの特典としてLINEヤフーでの活用事例が結構細かく記載されている。実際に運用していたり触っている人たちに話を聞いてみたいと思った。

オープンテーブルフォーマットを見ているとSpark やTrino など自分たちでクエリエンジンを用意しており使っていることが多い。クラウド上のクエリエンジンが強くなっているのでぜひともこれからはBigQuery やRedshift などからの利用実績が増えてくるとさらに面白くなるのではと思っている。その場合カタログはどううまく扱えるのか、扱えずに時前実装を頑張らなきゃいけないのかなど気になるところである。
でもクエリエンジンによる強弱はあったりするので、Single Source of Truth を保ちながら使い分けるなどをしたくなると信じているのでうまく使えるようになってききたいと思っている。

まとめ

  • Iceberg のアーキテクチャや基本について学べた
  • サンプルコードが多いので自分で触れて理解しやすかった
  • もっともっと使ってみた人が増えると面白くなりそうなのでもっと勉強する