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
Hive 集計テクニック
Search
Yuki Ishikawa
April 19, 2019
Technology
0
530
Hive 集計テクニック
2019.04.19 中国地方DB勉強会 in 沖縄
Yuki Ishikawa
April 19, 2019
Tweet
Share
More Decks by Yuki Ishikawa
See All by Yuki Ishikawa
Snowflake Openflow さわってみた
hoto17296
0
340
第3回 Snowflake 中部ユーザ会- dbt × Snowflake ハンズオン
hoto17296
4
1.1k
ORM と向き合う
hoto17296
14
11k
明日業務で役立たない Web 開発 TIPS
hoto17296
0
200
クソ bot 実装ライブコーディング
hoto17296
0
230
DeepGBM 論文の紹介
hoto17296
0
620
試行錯誤のための Docker 活用術
hoto17296
4
3.2k
データ分析と Docker / Data Analysis with Docker
hoto17296
0
390
DeepCluster 論文の紹介
hoto17296
7
2.6k
Other Decks in Technology
See All in Technology
なぜ あなたはそんなに re:Invent に行くのか?
miu_crescent
PRO
0
240
松尾研LLM講座2025 応用編Day3「軽量化」 講義資料
aratako
14
4.7k
普段使ってるClaude Skillsの紹介(by Notebooklm)
zerebom
8
2.6k
Strands Agents × インタリーブ思考 で変わるAIエージェント設計 / Strands Agents x Interleaved Thinking AI Agents
takanorig
6
2.4k
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
2
540
コールドスタンバイ構成でCDは可能か
hiramax
0
130
ペアーズにおけるAIエージェント 基盤とText to SQLツールの紹介
hisamouna
2
2k
フィッシュボウルのやり方 / How to do a fishbowl
pauli
2
430
AgentCore BrowserとClaude Codeスキルを活用した 『初手AI』を実現する業務自動化AIエージェント基盤
ruzia
7
2.2k
Claude Codeを使った情報整理術
knishioka
15
11k
ECS_EKS以外の選択肢_ROSA入門_.pdf
masakiokuda
1
120
Bedrock AgentCore Evaluationsで学ぶLLM as a judge入門
shichijoyuhi
2
300
Featured
See All Featured
It's Worth the Effort
3n
187
29k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
My Coaching Mixtape
mlcsv
0
15
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
420
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
990
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
180
Designing for Timeless Needs
cassininazir
0
110
Digital Ethics as a Driver of Design Innovation
axbom
PRO
0
130
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
From π to Pie charts
rasagy
0
97
Navigating Team Friction
lara
191
16k
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ʳ