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
kiba ETLで小さく始めるデータ分析基盤構築
Search
Hiroto Fukui
November 28, 2018
Programming
3
260
kiba ETLで小さく始めるデータ分析基盤構築
Hiroto Fukui
November 28, 2018
Tweet
Share
More Decks by Hiroto Fukui
See All by Hiroto Fukui
Deploy from slack
bary822
0
64
メールアドレスを深堀りする
bary822
2
1.2k
AR_migrationの例外.pdf
bary822
0
59
GraphQLを_Rubyで気軽に試す.pdf
bary822
0
300
Other Decks in Programming
See All in Programming
はじめてのDSPy - 言語モデルを『プロンプト』ではなく『プログラミング』するための仕組み
masahiro_nishimi
2
490
あなたとKaigi on Rails / Kaigi on Rails + You
shimoju
0
160
CSC305 Lecture 05
javiergs
PRO
0
210
デミカツ切り抜きで面倒くさいことはPythonにやらせよう
aokswork3
0
240
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
1k
Software Architecture
hschwentner
6
2.3k
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
160
NixOS + Kubernetesで構築する自宅サーバーのすべて
ichi_h3
0
860
CSC509 Lecture 05
javiergs
PRO
0
300
Six and a half ridiculous things to do with Quarkus
hollycummins
0
170
10年もののAPIサーバーにおけるCI/CDの改善の奮闘
mbook
0
830
Claude Agent SDK を使ってみよう
hyshu
0
550
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
22k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Faster Mobile Websites
deanohume
310
31k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
870
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Facilitating Awesome Meetings
lara
56
6.6k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
20
1.2k
The Straight Up "How To Draw Better" Workshop
denniskardys
238
140k
Optimizing for Happiness
mojombo
379
70k
Transcript
kiba ETLで小さく始めるデー タ分析基盤構築 @bary822
self self.name => Hiroto Fukui self.sns => @bary822 self.titles =>
[‘app engineer’, ‘data engineer’] self.companies => [‘rakuten’, ‘grooves’] self.likes => [‘dog’, ‘camping’, ‘ruby]
Osaka Tokyo
None
本題
kiba ETL
kiba ETL gem データ分析で使える フレームワーク
E - Extract T - Transform L - Load
.csv height >= 100 weight >= 30 LargeDog table Extract
Transform Load
kiba https://github.com/thbar/kiba https://youtu.be/fxVtbog7pIQ
kiba - 全体像
kiba - Extract(Source)
kiba - Transform
kiba - Load(Destination)
Pros • CRubyだけで気軽に始められる ◦ DSL記法を覚えなくていい • シンプルな設計思想 ◦ 新しいメンバーも理解しやすい •
ドキュメントも(そこそこ)揃っている ◦ https://github.com/thbar/kiba/wiki
Cons • E、T、Lの単独実行が出来ない ◦ ETLのレールに乗っからない便利タスクとかは定義できない • シンプルゆえに安全に運用するための整備は自分でやる気 概が必要 ◦ エラー検知、多重起動防止、秘匿情報の管理とか
分析基盤構築のためにやったこと (より実践的な話)
Data Warehouse • Data Warehouse(DWH) = データ分析に特化したDB • 列指向データベースが望ましい •
ETLのLoad先になるイメージ
Data Warehouse https://en.wikipedia.org/wiki/Data_warehouse
Actionlog • ユーザーの行動ログ • url, http method, referrer, ip address
… • Rackレベルで取れる系のやつ • 35k行/h 位の量
Actionlog + 独自拡張フィールド • ユーザーの行動ログ • url, http method, referrer,
ip address … • Rackレベルで取れる系のやつ • 35k行/h 位の量 • ユーザーID • bot(スクレイピングなど)によるアクセスかどうか
つくったもの • アプリDBをDWHにコピーして同期 ◦ 重いクエリで負荷掛け放題(掛け放題ではない) • この求人を見ている他のユーザーが見ている求人をリコメンド • 変化点検出アルゴリズムの実装 ◦
CUSUM ◦ Change Finder • 外れ値検出アルゴリズムの実装 ◦ DBSCAN
!dev
None
None
ITリテラシー問題 • SQL書けない • それが何の役に立つのかわからない • 何をどうやって分析していいのか分からない
データの民主化
data dev sales marketing execs
None
None
Biz Dev • ビジネスメンバーを含めたdaily huddle • データ分析で解決したい課題を募集 • クエリをまとめたダッシュボード •
DWHに分析用のテーブル/Viewを作成 • 分析用アルゴリズムをライブラリ化
None
None
[WIP] 教育
https://www.fusioncharts.com/blog/data-education-democratization/
これからの計画 • SQL勉強会でもしようかな • BIツールの導入検討 ◦ SQL書かなくてもいいやつ • セルフサービスで勝手に分析してくれるようになったら最高で は
EOF