Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DynamoDBからS3(Icebergテーブル)へのZeroETLを行う
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
afooooil
October 30, 2025
1
92
DynamoDBからS3(Icebergテーブル)へのZeroETLを行う
【AWS】AWS10分LT会 - vol.7 (
https://aws-likers.connpass.com/event/370773/
) で発表させていただいた内容です
afooooil
October 30, 2025
Tweet
Share
More Decks by afooooil
See All by afooooil
AWSで始めるサーバーレスなデータ分析基盤
afooooil
0
740
退屈なことはAI_Agentにやらせよう
afooooil
0
200
Amazon Qとのより良い付き合い方を考える
afooooil
0
230
ZeroETLで始めるDynamoDBとS3の連携
afooooil
0
280
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Everyday Curiosity
cassininazir
0
170
Designing for humans not robots
tammielis
254
26k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
200
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
WENDY [Excerpt]
tessaabrams
9
37k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
BBQ
matthewcrist
89
10k
How to make the Groovebox
asonas
2
2k
Paper Plane (Part 1)
katiecoart
PRO
0
5.7k
Writing Fast Ruby
sferik
630
63k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
140
Transcript
DynamoDBからS3(Icebergテーブル)への ZeroETLを行う 株式会社モリサワ 岡田 晃 AWS10分LT会 - vol.7
自己紹介 岡田 晃 / @afooooil 所属: 株式会社モリサワ ポジション: データエンジニア /
データサイエンティスト 好きなAWSサービス: CloudFormation / Athena
• データの抽出(Extract) • データの変換(Transform) • データの格納(Load) を行う一連のデータパイプライン。マグロの出荷に例えると... ETLとは? 収集 加工
格納
具体的にETLとは? DynamoDBの半構造化データを抽出(Extract)し、扱いやすい表形式へと変換 (Transform)しS3へと配置(Load)する。このような一連の操作をETLという。 ETL
なぜETLを行う必要? - 本番DBに直接、重たい分析クエリは投げられない - DynamoDBはテーブルのJoinなど分析に必要な操作が容易で ない - 他のデータソース(ログ)などと突き合わせて分析したい - 表形式のデータにSQLを用いて簡単にアクセスしたい
本番環境から分離し、データを変換して、分析用DBに格納する
これまでのDynamoDBからのS3へのETL • DynamoDBのPITRをLambdaでS3へコピー • RAWデータをGlue/Athenaなどを用いて変換して加工 後のデータをS3へ格納する
これまでのETLのパイプラインの課題 • DBのスキーマ更新に合わせてパイプラインも改修が必要だった • 差分更新のためには、工夫が必要だった • データを処理するためのロジックを書く必要があった
ZeroETLとは? ZeroETLとは、ETLを行うためのデータパイプラインをユー ザー側で構築を行わずに、マネージドなパイプラインを用いて ETLを行うこと サーバーレスと似たような概念だと思えばわかりやすい? - サーバーの管理をユーザーが行わなくてよいのがサーバーレス - ETLのパイプラインの管理を行わなくて良いのがZeroETL 2024/12にDynamoDBからSageMaker
Lakehouse(S3上へ のIcebergテーブル)へのZeroETLが可能になった。
ZeroETLを用いた場合 • DynamoDBからS3(Icebergテーブル)までのパイプラインの全てがマネー ジドに • マネコン or CLIから設定するだけ(CFnは未対応) パイプラインの構築、保守が不要に!
Icebergテーブルへの連携 • DynamoDBのデータはIcebergテーブルに連携されてAthenaでアクセス 可能 • 半構造データから表形式に変換された形でデータ連携される
ZeroETLのログもIcebergテーブルに ZeroETLを設定すると自動で zetl_integration_table_state というテーブル ができる。 ここではステータスや、実行履歴、レコードの変更数なども管理される。
Apache Icebergとは? Apache IcebergとはOpen Table Formatのひとつ。 - 個々のファイルの集合をあたかも一つのテーブルのように扱える。 - 従来のデータレイクにある課題を解決する次世代のフォーマットとして注目されてい
る。 ZeroETLの観点からの、嬉しい特徴として以下の2つがある - レコードの追加、更新、削除を容易に効率的に行う - スキーマの変更が容易 ここでは紹介しませんが、Icebergには他にも様々な魅力的な機能があります。
Icebergで何が嬉しい? レコードの追加、更新、削除を容易に効率的に行う - レコードの差分更新(Insert, Update, Delete)が容易 - ZeroETLでは15分間隔でDynamoDBのデータの連携が可能になる スキーマの変更が容易 -
カラムの追加など(alter table change column…)が容易 - ZeroETLではDynamoDBに新しいAttributeが追加されると、自動 的にIcebergに新しいカラムが追加される
まとめ • データを抽出、変換、格納して扱いやすい形にすることを ETLという • ZeroETLを用いることで従来必要であったパイプライン構 築や保守のコストが低減される • データの連携先はS3のIcebergテーブルであり、15分間 隔での連携および自動的なスキーマ追従が可能