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
AmazonAthenaで 競馬データをParquet化する
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
usanchuu
March 11, 2026
Technology
120
0
Share
AmazonAthenaで 競馬データをParquet化する
2026/03/11 JAWS-UG茨城 #12春の推しAWSサービスLTまつり!での登壇資料です。
usanchuu
March 11, 2026
More Decks by usanchuu
See All by usanchuu
ラーメンにお酢が馴染む時間を計算したら麺が伸びそうになったので、 AWS Lambda Power TuningとManaged Instancesで爆速化する
usanchuu
1
130
Amazon Rekognitionで 「信玄餅きなこ問題」を解決する
usanchuu
1
1.2k
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
4
550
Reachability Analyzer VS Kiro CLI ~ネットワークがつながらないとき、どっちを使う?~
usanchuu
1
82
Other Decks in Technology
See All in Technology
情シスがMCP環境導入時に打ちのめされる認可の崖
oidfj
0
440
はじめてのAI-DLC
yoshidashingo
2
520
類似画像検索モデルの開発ノウハウ
lycorptech_jp
PRO
3
750
TSKaigi 2026 - 型プラグインシステムの実装に使われるテクニック
teamlab
PRO
2
330
TSKaigi 2026 - enumよ、さようなら
teamlab
PRO
3
530
Node.js+TypeScriptにおけるCJS/ESM相互運用の最新ポイント
grainrigi
2
110
エムスリーテクノロジーズ株式会社 エンジニア向け紹介資料 / M3 Technologies Company Deck
m3_engineering
0
230
ソフトウェアサプライチェーン攻撃対策として今からサクッとできること
flatt_security
2
130
キャリア25年目にしてTypeScript に出会うまで - 「型」を通じて振り返るプログラミング言語遍歴 / Meeting TypeScript After 25 Years in Tech - Looking Back at My Programming Language Journey Through "Types"
bitkey
PRO
2
270
AIのために、AIを使った、Effect-TSからの脱却 〜テストを活用した安全なリファクタリングの進め方〜
bitkey
PRO
1
540
Python開発環境にハーネス適用を検討する
yuuka51
1
500
ジュニアエンジニアはSREとどう向き合うべきか
nrinetcom
PRO
1
120
Featured
See All Featured
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
420
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
530
The Limits of Empathy - UXLibs8
cassininazir
1
340
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
220
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.2k
Docker and Python
trallard
47
3.8k
4 Signs Your Business is Dying
shpigford
187
22k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Transcript
Amazon Athenaで 競馬データをParquet化する 2026/03/11 JAWS-UG 茨城 #12 春の推しAWSサービスLTまつり! 藤井 ひかり
① 推しサービス「Amazon Athena」についてご紹介 ② Amazon Athenaで競馬データをParquet化して万馬券を当てる 検証 今回の内容
発表者について フジイ ヒカリ と申します・x・ 社会人1年目:SIerのアーキテクチャチームでSEしてます データベース初学者ですが楽しく勉強しています AWSについて 保有資格:CLF,AIF,SAA,MLA,DEA ★昨年12月開催のJAWS-UG Presents
- AI Builders Dayを きっかけにAWSに興味をもち、現在絶賛勉強中です! X:@usanchuu
出走直前の馬体重とオッズのデータを分析して期待 値を出したい。 でもDEAの勉強中で悠長に考えてられない…RDS (データベース)を立てる時間も維持費も惜しい。 LT内容の背景:万馬券をあてたい!
DEA勉強中に出てきたAthenaはDB構築ゼロ+S3に データを置くだけで即SQLが使えるらしい! 勉強がてら使ってみよう LT内容の背景:万馬券をあてたい!
① 推しサービス「Amazon Athena」 についてご紹介
Amazon Athenaの名前の由来 ★推しポイント! ① 推しサービス「Amazon Athena」についてご紹介 「Athena」はギリシャ神話に登場する「知恵と戦略の女神」
Amazon Athenaの特徴 ① 推しサービス「Amazon Athena」についてご紹介 ②学習コストが『ゼロ』 ①DB構築が『ゼロ』 ③使っていない時の維持費が『ゼロ』 S3にファイル(CSVやJSON)を置くだけで、準備完了
標準的なSQLを叩くだけで、すぐにデータが返ってくる 『スキャンしたデータ量(1TBあたり約5ドル) 』だけの従量課金
Athenaの裏側で起こっていること ★Schema-on-Read https://docs.aws.amazon.com/ja_jp/athena/latest/ug/handling- schema-updates-chapter.html より ① 推しサービス「Amazon Athena」についてご紹介 【従来のDB:Schema-on-Write】 「①テーブル設計
→ ②データ投入 → ③検索」 →事前の設計とデータ加工が必須で大変! 【Athena:Schema-on-Read】 →生データに『読む瞬間だけ』枠を被せる!事前準備ゼロ!
・従来のオンプレDB:計算サーバーの中にハードディスク ・Athena:Coordinator(司令塔)がSQLを受け取ってGlue Data Catalog を見る→数百のノードが立ち上がり、並列処理をして即解散する。 Athenaの裏側で起こっていること ★コンピュート(計算処理)とストレージ(データ保存)の分離 https://docs.aws.amazon.com/ja_jp/athena/latest/ug/data-types.htmlより ① 推しサービス「Amazon
Athena」についてご紹介
② Amazon Athenaで競馬データを Parquet化して万馬券を当てる検証
検証方法 ② Amazon Athenaで競馬データをParquet化して万馬券を当てる検証 ダミーの競馬データをAIで生成(馬の名前、重さ、オッズ、レース名) ▶Athenaの画面で結果出力場所を指定▶データベースを作成 ▶検索クエリ実行 スクレイピングはやめておくことに...
手順1:とりあえずCSVで検索してみた結果…… ② Amazon Athenaで競馬データをParquet化して万馬券を当てる検証 ★csv形式:行指向
実行時間:781ms 手順1:とりあえずCSVで検索してみた結果…… ② Amazon Athenaで競馬データをParquet化して万馬券を当てる検証 ★csv形式:行指向 今回のSQLで欲しいのは「オッズ」と「重さ」のみ →馬の名前やレース名まで全部強制的に読み込まされる
手順2:データをParquet形式に変換した結果 ② Amazon Athenaで競馬データをParquet化して万馬券を当てる検証 ★Parquet(パーケイ)形式:列指向
手順2:データをParquet形式に変換した結果 ② Amazon Athenaで競馬データをParquet化して万馬券を当てる検証 ★Parquet(パーケイ)形式:列指向 データを「列(カラム) 」ごとに縦にまとめて保存 →「オッズ」と「重さ」のデータブロックだけをピンポイントで 読み込める。 実行時間:385ms ★396ms短縮!
いざ!レース本番!!
とおもったのですが、レースの時間が過ぎていました... Parquet変換のお勉強に夢中になって しまった;;
まとめ ★サーバーレスで手軽な反面、 『スキャンしたデータ量』に直接課金される ためデータの持ち方がコストに直結する! Athenaの課金体系 =「スキャン量」がすべて ★Parquet(パーケイ)などの列指向フォーマットへの変換が必須!