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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
usanchuu
March 11, 2026
Technology
0
91
AmazonAthenaで 競馬データをParquet化する
2026/03/11 JAWS-UG茨城 #12春の推しAWSサービスLTまつり!での登壇資料です。
usanchuu
March 11, 2026
Tweet
Share
More Decks by usanchuu
See All by usanchuu
Amazon Rekognitionで 「信玄餅きなこ問題」を解決する
usanchuu
1
1.1k
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
4
510
Reachability Analyzer VS Kiro CLI ~ネットワークがつながらないとき、どっちを使う?~
usanchuu
1
71
Other Decks in Technology
See All in Technology
LLMに何を任せ、何を任せないか
cap120
10
6.2k
Kubernetesの「隠れメモリ消費」によるNode共倒れと、Request適正化という処方箋
g0xu
0
160
OpenClawでPM業務を自動化
knishioka
2
340
AIエージェント勉強会第3回 エージェンティックAIの時代がやってきた
ymiya55
0
170
OCI技術資料 : ロード・バランサ 概要 - FLB・NLB共通
ocise
4
27k
MCPで決済に楽にする
mu7889yoon
0
160
BFCacheを活用して無限スクロールのUX を改善した話
apple_yagi
0
130
俺の/私の最強アーキテクチャ決定戦開催 ― チームで新しいアーキテクチャに適合していくために / 20260322 Naoki Takahashi
shift_evolve
PRO
1
480
The essence of decision-making lies in primary data
kaminashi
0
190
AIエージェント時代に必要な オペレーションマネージャーのロールとは
kentarofujii
0
230
AI時代のオンプレ-クラウドキャリアチェンジ考
yuu0w0yuu
0
650
ブラックボックス化したMLシステムのVertex AI移行 / mlops_community_62
visional_engineering_and_design
1
240
Featured
See All Featured
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
200
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
260
Site-Speed That Sticks
csswizardry
13
1.1k
A designer walks into a library…
pauljervisheath
210
24k
A Soul's Torment
seathinner
5
2.6k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
エンジニアに許された特別な時間の終わり
watany
106
240k
Ruling the World: When Life Gets Gamed
codingconduct
0
190
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
480
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(パーケイ)などの列指向フォーマットへの変換が必須!