Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Hive 集計テクニック
Search
Yuki Ishikawa
April 19, 2019
Technology
570
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Hive 集計テクニック
2019.04.19 中国地方DB勉強会 in 沖縄
Yuki Ishikawa
April 19, 2019
More Decks by Yuki Ishikawa
See All by Yuki Ishikawa
分割40%キーボードにスムーズに入門するには
hoto17296
1
290
FastAPI の並行処理モデルを完全に理解する
hoto17296
10
4.5k
o11y 何もわからない助けてくれ
hoto17296
0
130
Snowflake Openflow さわってみた
hoto17296
0
730
第3回 Snowflake 中部ユーザ会- dbt × Snowflake ハンズオン
hoto17296
4
1.5k
ORM と向き合う
hoto17296
15
12k
明日業務で役立たない Web 開発 TIPS
hoto17296
0
270
クソ bot 実装ライブコーディング
hoto17296
0
280
DeepGBM 論文の紹介
hoto17296
0
750
Other Decks in Technology
See All in Technology
顧客価値を追いかけたら、プライシングにたどり着いた
sansantech
PRO
2
940
macOS Golden Gate 時代のMac管理
tategami
0
140
sue445's proposals 2026
sue445
0
140
AWS DevOps Agentはどこまで任せられるか 〜機能の現在地と、機能拡張の実践〜
nyankotaro
0
200
CSS2026:OWS研究会・招待講演「世界観を、実装する」
atsush1_sada
2
280
AWS Continuum for Penetration Testing に Deep Dive してみる
asanoharuki
1
1.1k
AWSDirectConnectの構築の進め方を整理してみた
masa_my
1
170
ポケモン対戦を自動で記録して振り返ろう
fufufukakaka
0
310
How to Design Configuration for Rails Applications
willnet
2
1.2k
背中から、背中へ ー 社外コミュニティで学んだ「雑に背中を押す」という恩送り ー / easygoing encouragement and pay forward to community
naitosatoshi
0
170
CTO Night|NotionのAIエージェントとFDE
kzkhykw1991
0
310
Adversary Infrastructure Hunting101
disconinja
0
120
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
59k
Into the Great Unknown - MozCon
thekraken
41
2.8k
Believing is Seeing
oripsolob
1
250
Mobile First: as difficult as doing things right
swwweet
225
10k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
310
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
The Curse of the Amulet
leimatthew05
3
16k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Producing Creativity
orderedlist
PRO
348
41k
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Transcript
Hive ूܭςΫχοΫ 2019.04.19 தࠃํDBษڧձ in ԭೄ @hoto17296
RDB ͚͕ͩ DB Ͱͳ͍ ʂʂʂʂʂ
@hoto17296 • ͪΎΒσʔλגࣜձࣾ σʔλΞφϦετ • ԭೄͷडୗσʔλੳձࣾ • ࠓͷΠϕϯτʹԿਓ͔ࣾһ͍Δ
খωλͰ͢
Apache Hive • Hadoop ͷࢄετϨʔδ (HDFS) ্ͷ σʔλΛ SQL ϥΠΫʹૢ࡞Ͱ͖Δݴޠ
• େنσʔλੳج൫ͳͲʹΑ͘ΘΕΔ • PostgreSQL ͱ͔ͱಉ͡ϊϦͰॻ͘ͱࢮ͵ • Map Reduce ͷ͓ؾ࣋ͪΛͯ͠
Γ͍ͨ͜ͱ time ࠂID ੑผ طࠗ ऩ 1555664019 253678c9 உ
20-24 ະࠗ 500ສ 1555664020 2baf1f40 ঁ 35-38 طࠗ 400ສ 1555664022 105d9501 உ 25-29 ະࠗ 500ສ 1555664022 fe319a8e உ 30-34 طࠗ 600ສ 1555664024 c463fdf4 ঁ 20-24 طࠗ 400ສ 1555664027 325a2a5d உ 40-44 طࠗ 800ສ 1555664029 f445adf3 ঁ 25-29 ະࠗ 500ສ 1555664034 fe319a8e உ 35-38 طࠗ 600ສ 1555664034 f572f626 ঁ 25-29 ະࠗ 400ສ Α͋͘ΔΦʔσΟΤϯεσʔλ
Γ͍ͨ͜ͱ time ࠂID ੑผ طࠗ ऩ 1555664019 253678c9 உ
20-24 ະࠗ 500ສ 1555664020 2baf1f40 ঁ 35-38 طࠗ 400ສ 1555664022 105d9501 உ 25-29 ະࠗ 500ສ 1555664022 fe319a8e உ 30-34 طࠗ 600ສ 1555664024 c463fdf4 ঁ 20-24 طࠗ 400ສ 1555664027 325a2a5d உ 40-44 طࠗ 800ສ 1555664029 f445adf3 ঁ 25-29 ະࠗ 500ສ 1555664034 fe319a8e உ 35-38 طࠗ 600ສ 1555664034 f572f626 ঁ 25-29 ະࠗ 400ສ ࠂ ID ϢχʔΫ͔ͱࢥ͍͖ ΊͪΌͪ͘Όॏෳ͍ͯ͠Δ ಉ͡ ID Ͱଐੑσʔλ (ਪఆ) ͕ ͦΕͧΕҧ͏
Γ͍ͨ͜ͱ time ࠂID ੑผ طࠗ ऩ 1555664019 253678c9 உ
20-24 ະࠗ 500ສ 1555664020 2baf1f40 ঁ 35-38 طࠗ 400ສ 1555664022 105d9501 உ 25-29 ະࠗ 500ສ 1555664022 fe319a8e உ 30-34 طࠗ 600ສ 1555664024 c463fdf4 ঁ 20-24 طࠗ 400ສ 1555664027 325a2a5d உ 40-44 طࠗ 800ສ 1555664029 f445adf3 ঁ 25-29 ະࠗ 500ສ 1555664034 fe319a8e உ 35-38 طࠗ 600ສ 1555664034 f572f626 ঁ 25-29 ະࠗ 400ສ time ͕࠷৽͍͠1ߦ͚ͩͯ͠ଞશͯআ֎͍ͨ͠
1. ·ͣࢥ͍ͭͭ͘
Ϛονϣա͗Δ • શΧϥϜॻ͔ͳ͍ͱ͍͚ͳ͍ • ༻్͕ຊདྷͷ MAX Ͱͳ͍ • จࣈྻΧϥϜʹ MAX
͢Δͷؾ͕Ҿ͚Δ • ࠷৽ͷσʔλ͕औΕΔΘ͚Ͱͳ͍
2. ΟϯυؔΛ͏ͭ
ROW_NUMBER Πϝʔδ time ࠂID ੑผ طࠗ ऩ rank 1555664019
253678c9 உ 20-24 ະࠗ 500ສ 1 1555664020 2baf1f40 ঁ 35-38 طࠗ 400ສ 1 1555664022 105d9501 உ 25-29 ະࠗ 500ສ 1 1555664022 fe319a8e உ 30-34 طࠗ 600ສ 2 1555664024 c463fdf4 ঁ 20-24 طࠗ 400ສ 1 1555664027 325a2a5d உ 40-44 طࠗ 800ສ 1 1555664029 f445adf3 ঁ 25-29 ະࠗ 500ສ 1 1555664034 fe319a8e உ 35-38 طࠗ 600ສ 1 1555664034 f572f626 ঁ 25-29 ະࠗ 400ສ 1 PARTITION BY ORDER BY
ROW_NUMBER ศར • ͱͯΘ͔Γ͍͢ • ͔֬ PostgreSQL Ͱ͑Δ • ൚༻ੑ
(ʁ) ͕͋ͬͯྑ͍
3. Hivemall Λ͏ͭ
Hivemall • Hive ্Ͱػցֶश͢ΔͨΊͷϥΠϒϥϦ • SQL ͰػցֶशͰ͖Δ • Apache Incubation
Project ʹબΕͨ • ͍͢͝ (খฒײ)
EACH_TOP_K ؔ • Hivemall ʹؚ·Ε͍ͯΔؔ • Ϋϥελʔ͝ͱʹ K ݸͷσʔλΛऔಘͰ͖Δ •
(ϢʔεέʔεʹΑͬͯ) ROW_NUMBER ΑΓ͍
͞ͷݕূ • Treasure Data ͷαϯϓϧσʔληοτͰ͋Δ NASDAQ ͷגՁσʔλ (880ສߦ) Λର •
֤ฑ͝ͱͷ࠷৽ͷגՁΛऔಘ͢ΔΫΤϦΛ ROW_NUMBER ͱ EACH_TOP_K Ͱॻ͖ɺ ࣮ߦ࣌ؒΛܭଌ͢Δ
ݕূ݁Ռ 1.46 ഒ͘Β͍ EACH_TOP_K ͷํ͕ ͔ͬͨ ROW_NUMBER EACH_TOP_K 85 ඵ
124 ඵ
ͳ͍͔ͥʁ time symbol volume rank 1555102800 APPL 198.87 1 1555016400
APPL 198.95 2 1554930000 APPL 200.62 3 1554843600 APPL 199.50 4 1555102800 MSFT 120.95 1 1555016400 MSFT 120.33 2 1554930000 MSFT 120.19 3 1554843600 MSFT 119.28 4 ROW_NUMBER શͯͷߦʹ൪߸Λ ৼ͔ͬͯΒߜΓࠐΉ
ͳ͍͔ͥʁ time symbol volume 1555102800 APPL 198.87 1555016400 APPL 198.95
1554930000 APPL 200.62 1554843600 APPL 199.50 1555102800 MSFT 120.95 1555016400 MSFT 120.33 1554930000 MSFT 120.19 1554843600 MSFT 119.28 EACH_TOP_K ඞཁͳ͚ͩऔಘͨ͠Β ͋ͱॲཧ͠ͳ͍
Φν͕ͳ͍ (·ͱΊ) • Hive Ͱʮάϧʔϓ͝ͱʹτοϓ N ݅Λऔಘʯ ͍ͨ͠߹ ROW_NUMBER ͕͑Δ
• Hivemall ͕͑Δ߹ EACH_TOP_K Λ ͏ͱΑΓ͘ͳΔ͔͠Εͳ͍
ʲPRʳ