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
NDC 2015 Cookie Run Log System
Search
Jung-gun Lim
May 20, 2015
Programming
44
14k
NDC 2015 Cookie Run Log System
NDC 2015에서 발표한 쿠키런 로그 시스템 슬라이드를 공유합니다.
Jung-gun Lim
May 20, 2015
Tweet
Share
Other Decks in Programming
See All in Programming
Reading Rails 1.0 Source Code
okuramasafumi
0
250
Improving my own Ruby thereafter
sisshiki1969
1
160
Updates on MLS on Ruby (and maybe more)
sylph01
1
180
Android 16 × Jetpack Composeで縦書きテキストエディタを作ろう / Vertical Text Editor with Compose on Android 16
cc4966
2
270
Testing Trophyは叫ばない
toms74209200
0
890
チームのテスト力を鍛える
goyoki
3
900
時間軸から考えるTerraformを使う理由と留意点
fufuhu
16
4.8k
そのAPI、誰のため? Androidライブラリ設計における利用者目線の実践テクニック
mkeeda
2
1.8k
パッケージ設計の黒魔術/Kyoto.go#63
lufia
3
440
スケールする組織の実現に向けた インナーソース育成術 - ISGT2025
teamlab
PRO
2
160
@Environment(\.keyPath)那么好我不允许你们不知道! / atEnvironment keyPath is so good and you should know it!
lovee
0
120
HTMLの品質ってなんだっけ? “HTMLクライテリア”の設計と実践
unachang113
4
2.9k
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
The Art of Programming - Codeland 2020
erikaheidi
56
13k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
The World Runs on Bad Software
bkeepers
PRO
70
11k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
How to Ace a Technical Interview
jacobian
279
23k
A Tale of Four Properties
chriscoyier
160
23k
Become a Pro
speakerdeck
PRO
29
5.5k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Transcript
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ః۠۽Ӓदझమ ߄ࢁҊоդೠѐߊܳਤ೧ ؘ࠳दझఠૉ Ӕ
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ߊࣗѐ
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ѐਃ ѱ۽Ӓदझమਃࢿ ߊࣗѐ ః۠۽Ӓदझమ୍
ః۠۽Ӓदझమҳઑ ഝਊࢎ۹
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ Ӕ ߊࣗѐ ߊࣗѐ ؘ࠳दझఠૉ
_അ /$40'5 _ )BEPPQӝ߈..031( ۽Ӓदझమҳ୷߂ ࠙झܻ߁42-௪ܻ ূѐߊ߂ ѱࢲߡ ѐߊ߂
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ః۠ࢲ࠺झѐਃ
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ః۠ য়ۄੋਸాೠӖ۽ߥࢲ࠺झ %"6ୌ݅ӝ۾ ୌ݅־۽٘ӝ۾ ֙߮ܳܲࣻݽ߄ੌѱ
ః۠ࢲ࠺झѐਃ
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ః۠ ↟ੜೞחѱ ↟গীೠഛपೠࠁ࢚ ↟ೞҊݺഛೠҊё ↟ਬ৬न܉ҳ୷
ః۠ࢲ࠺झѐਃ
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ః۠۽Ӓदझమ ↟ః۠҃੬۱ ↟୨5#࢚۽Ӓઁহࠗࠁҙ ↟ೠਬۨӝ۾ਸୡউীৌۈ ↟)BEPPQ۞झఠ۽ࡅܲӏݽ࠙ࢳоמ ↟ୡӝై࠺ਊઁ۽
ਘࣻभ݅ਗਬ࠺ਊ ః۠ࢲ࠺झѐਃ
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ җѢ۽Ӓܳ৵ೞભ
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ߨޖ җѢ۽Ӓܳ৵ೞભ ইమহযޛযղۄ
ഛೠറടಁ݄ࣗܳח
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ Ҋёޙ ইమহযযਃ ࠁ࢚೧ࣁਃ ޚبٮبঋҊࠁ࢚೧ݶ Ҋё݃࠺ػ
җѢ۽Ӓܳ৵ೞભ
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ా҅߂ %"6 ."6 8"6 16 j
࢜۽ѐߊೠܳҗѢী೧ࢲࡳח ѐߊऔҊࡈۄ җѢ۽Ӓܳ৵ೞભ
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ః۠۽Ӓदझమ୍
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ః۠ѱࢲߡ +BWB 4QSJOH.7$ 5PNDBU $PVDICBTF .Z42-
3FEJT ই݃ઓਢࢲ࠺झ ޖѨޖױࢲ࠺झܳೱ ః۠۽Ӓदझమ୍
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ޖѨࢲߡಁ ః۠۽Ӓदझమ୍ ࢲߡ Ѩ
ࢲߡ ࢲߡ ੌ߈ੋ҃ ࢲߡ ః۠҃ ࢲߡ ࢲߡ ࢲߡ
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ࢲߡஹನքઑѤ • ݽٚࢲߡ۽ࣁझחਗঋਸٸલח – ࢚ޅೠदীલӝبೞ݅ –
ӟәࠁউಁоӝبೠ • ઁաݫੋఠքझ৬ಁܳоמೞѱ – ৵ջೞݶj ః۠۽Ӓदझమ୍
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ r߄ࢁs • ஶబஎѐߊೞוۄ߄ࢁ • ߊࢤೠޙઁחӒٸӒٸ೧ѾೞҊ •
ӝݫੋఠքझ୭ࣗച • ѐߊஹೊఠীࢲऔѱӔоמೞѱ ః۠۽Ӓदझమ୍
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ rоդೞs • ѱࢲߡ࠺ਊࠁ۽Ӓࢲߡ࠺ਊ࠺ऱݶҌۆ • ޖܻೠୡӝైܳೡࣻহ –
ѱࢿಁחইޖبݽܲ • ࢤпࠁ഻ঁ۴ೠਬ࠺۽ҳ୷ೡࣻ ః۠۽Ӓदझమ୍
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ః۠۽Ӓदझమѐਃ
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ః۠۽Ӓ • ݒੌ_(#+40/ఫझഋध – ֙୨5#࢚ •
࠺ഋझః݃ • ৵߄ցܻನݘউॳաਃ ª߄ࡅਃ – ۽Ӓܳ୶оೡٸ݃दझమਸসؘೞӝफযਃ ః۠۽Ӓदझమѐਃ
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ః۠۽Ӓदझమҳࢿ Tomcat Kafka ࣻ ѐߊ ܻ
ࢲ࠺झ ઁ Amazon S3 (Daily Log) Real Time Log Server LevelDB Log Broker CS Server Amazon EMR (Hadoop) CS ѐߊ1$ ః۠۽Ӓदझమѐਃ
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ۽Ӓࣻ"QBDIF,BGLB
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ۽Ӓࣻ • "QBDIF,BGLBࢎਊ • ࠙ݫࣁदझమ –
1VCMJTI4VCTDSJCF • ੌ߹ష աൗ Kafka ۽Ӓࣻ"QBDIF,BGLB Tomcat
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ,BGLB • ݫࣁܳࠂઁೞৈ – ֢٘গীъೣ –
ࢲߡসؘ߂࢚ࠗदоמ • ױࣽೠࣗҳઑ Ҋੜউդ • ੍֫ӝॳӝ ۽Ӓࣻ"QBDIF,BGLB
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ -PHTUBTIª,BGLB • ஹನքܳݥ୶ݶয٥оޙઁоੌযդ – ۽ࣁझоલਸٸ۽Ӓਬपߊࢤ •
3FEJTܳղ۷ৢܻݶੌաਃ – 3FEJTীӟәѨझாેѦܻݶਕࢪٸޅ֥ইਃ • -PHTUBTIח1VTIߑध ,BGLBח1VMMߑध – ۽Ӓ੍ܳח۽ࣁझܳղ۷ৢܾࣻ ۽Ӓࣻ"QBDIF,BGLB
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ,BGLBࢎਊ • ݫࣁࠂೖೡࣻহ – 5XP(FOFSBMTs1SPCMFN –
ӝ۾ࢿҕਸޅ߉ਵݶࠂߊࢤ • ࠂઁѢחഛೠా҅ܳਤ೧ࣻ ۽Ӓࣻ"QBDIF,BGLB
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ۽Ӓߔস"NB[PO4
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ۽Ӓߔস • ӝపੑߔস • /"4
• .Z42- ੌ߹ߔস • )BEPPQ۞झఠ • )#BTF$BTTBOESB۞झఠ ۽Ӓߔস"NB[PO4
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ۽Ӓߔস • ӝపੑߔস ª߄ࡅਃ • /"4
ªоդ೧ਃ • .Z42- ੌ߹ߔস ª߄ࡅਃ • )BEPPQ۞झఠ ªоդ೧ਃ • )#BTF$BTTBOESB۞झఠ ª߄ࢁҊоդ೧ਃ ۽Ӓߔস"NB[PO4
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ Kafka ই݃ઓ4 • ޖೠਊ • Ҋоਊࢿ
• ؘఠܳয֍ਸٸ ਊ࠺ਊহ • ۴ೠਬ࠺ – $16࠺ਊਸղঋ Amazon S3 (Daily Log) ۽Ӓߔস"NB[PO4
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ই݃ઓ4ഝਊ • ੌदझమۄࠗܰӝূਗغחӝמݻহ – ੌೠߣٜ݅যݶࣻউػ •
ੌ੍ࠗ࠙ӝܳਗೣ – ࠶۟୷߂ੋؙयоמ • ࡅܲઑഥ৬ߓ࠙ࢳоמೠನݘਵ۽ࠁҙ ۽Ӓߔস"NB[PO4
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ੌ߹ߔস • ,BGLB۽ࠗఠযઁ۽Ӓషਸؒ߉ח • যઁ۽Ӓܳ۳ೠ –
ః<"DUJPO .FNCFS*E 5JNFTUBNQ )BTI> – ਗೞחؘఠܳݽৈѱೠ – ࡅܰѱࠂઁѢೡࣻ – ୷ੜػ ۽Ӓߔস"NB[PO4
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ࠶۟୷ • 4OBQQZ'SBNFE'PSNBUࢎਊ • .#ਗࠄ࠶۟ױਤ۽୷ –
୷റ࠶۟ӝ.#݅۽যٚ – ౠੌղۨӝ۾ਸৌۈೞחؘী.#੍݅ਵݶػ • ୷࠶۟ਸযࠢݶೞաѢೠ୷ੌ – 4ীࢲ۽٘߉ইഝਊೞӝಞೞ ۽Ӓߔস"NB[PO4
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ੌ߹ߔসੌҳઑ T[ buy, id:10127, 10:12 am
buy, id:10127, 10:34 am … buy, id:91729, 10:12 am login, id:10013, 01:13 am … … play, id:10013, 10:14 am play, id:10013, 10:23 am … JOEFYKTPO CVZ JE BN CVZ JE BN j QMBZ JE BN ୡ ੌ߹ߔস ۽Ӓߔস"NB[PO4
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ࢠ݂ • ۽Ӓ۳दী.FNCFSJEܳࣽਵ۽ٍ • ª ª
• rs rsਵ۽աחNFNCFSJE۽Ӓоݽੋ • ࢠ݂ػ۽Ӓܳࡅܰѱ࠙ࢳ – ѐߊ1$ীࢲࡅؘܲఠযܻா࣌ѐߊ߂పझ ۽Ӓߔস"NB[PO4
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ Ѿҗ • ౠਬೞܖۨ۽Ӓઑഥୡ – যઁ۽Ӓٚ֙۽Ӓٚэࣘب۽ •
ౠਬੌ֙ۨ۽Ӓઑഥୡ – "NB[PO&$DYMBSHF যӝળ ۽Ӓߔস"NB[PO4
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ Ѿҗ • ࢠؘ݂ఠੌੌ – ۽ஸীࢲୡ݅ী࠙ࢳ •
ੌ֙ۨ۽Ӓ – ই݃ઓ&.3۞झఠীࢲ࠙উী࠙ࢳ • ઑഥ ࠙ࢳݽفझாੌইਓоמ – ࢲߡܳטܾࣻ۾ࢿמࡈۄ ۽Ӓߔস"NB[PO4
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ࠺ਊ • ୡӝై࠺ਊহ • ֙ਊ5#ղ৻ •
ਘਬ࠺݅ – ࢎޖपӝࣁࠁऱ • җѢ۽Ӓܳ(MBDJFSীӝחѪਵ۽࠺ਊхоמ ۽Ӓߔস"NB[PO4
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ पदр۽Ӓदझమ
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ पदр۽Ӓઑഥ • $4ܳਤ೧ࢲחয়ט۽Ӓبઑഥ೧ঠೠ • যڃदझమਸॶѪੋо
– ୡ੍ӝॳӝے࣌ࣻоѪ – ߧਤ௪ܻܳਗೡѪ • ਤઑѤਸ݅ೞחदझమӒ݆ঋ पदр۽Ӓदझమ
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ Kafka -FWFM%# • ,FZ7BMVFझషܻ • ҊॳחҳӖઁಿ
– ҳӖ܁ীࢎਊ • ߧਤ௪ܻਗ • ୡ݅Ѥॳӝоמ Real Time Log Server LevelDB पदр۽Ӓदझమ
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ पदр۽Ӓࢲߡ • -FWFM%#ূ֎ਕ"1*оহ • 3&45"1*ࢲߡܳ(P۽ࢿ –
֫زदࢿ – ݣ౭যܳഝਊೠಞೠझாੌ • ੌ߹-FWFM%# – ੌ߹షী – ࠂઁѢ पदр۽Ӓदझమ Real Time Log Server Real Time Log Server LevelDB
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ۽Ӓ࠳۽ழ • (P۽ࢿ • җѢ۽Ӓח4 •
୭Ӕ۽Ӓחपदр۽Ӓࢲߡ • زੌೠੋఠಕझ۽֙۽Ӓ৬ ୡ۽ӒܳݽفӔоמ Real Time Log Server LevelDB पदр۽Ӓदझమ Log Broker Amazon S3 (Daily Log)
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ۽Ӓഝਊ
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ࢎ۹ۨ܀ߔ • ౠఃীؘఠয়ܨߊѼ – ࠺࢚ਵ۽֫ࣻߊࢤ –
࠺࢚ۨ۽ੋधغযೞחਬߊࢤ • ః۠ӝ۾҃੬ѱ ҕೣਃೞ ۽Ӓഝਊ
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ۨ܀ߔ • য়טۨѨ࢝ਵ۽ೱ߉ਬഛੋ • ࣻߔݺೱ߉ਬٜীೞৈ –
ݽٚۨӝ۾ਸоઉ৬ࢲ – ޙઁחۨܳఠ݂ೞҊ – ޙઁহחۨ୭Ҋࣻ۽јन • ਬୡݶоמªࣁदр݅ী೧Ѿ ۽Ӓഝਊ
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ $4݃܄ਢࢲ࠺झ • ೠੋఠಕझ۽۽Ӓܳࠁৈળ – ܻझఎੑ –
ইమੑ – ۨӝ۾ • ഛೠറ࢚ടਸ౸߹ೞҊ$4оמ – ೲਤ$4ߑ ۽Ӓഝਊ
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ؘੌܻۨನಃா • 4DBMEJOHӝ߈۽Ӓ࠙ࢳۨਕ – ೣࣻഋযޙߨਸࢎਊೠрѾೠ٘ –
ࢠ݂ਸഝਊೠࡅܲ۽ஸపझ • ݒੌইஜ݃যઁܳݫੌ۽࣠ ۽Ӓഝਊ
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ 4DBMEJOHਸഝਊೠ࠙ࢳ class ActiveUserCount(args : Args) extends
Job(args) { CookierunLog("member/connect", args("sampling"), args("timeStart"), args("timeEnd"), Tuple1("memberSeq")) .groupBy(‘memberSeq){ _.take(1) } .groupAll{ _.size } .write(Csv(args("output"))) } ۽Ӓഝਊ
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ؘੌܻۨನಃா • "NB[PO&.3ਤীࢲоز – ই݃ઓਃীٮۄزਵ۽ڸਕח)BEPPQ۞झఠ •
4QPU*OTUBODFࢎਊ – যࢲߡ DYMBSHF ೠदр࠽ܻח࠺ਊ݅ – ӔҮా࠺ࣻળ ۽Ӓഝਊ
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ ଵҊܐ • ഘࢿ ః۠֙ࢲߡѐߊ࠙ైӝ /%$ •
࢚Ҍ 1ZUIPOਵ۽ః۠ೞӝ 1ZDPO,PSFB • ӣ оߺҊਬোೞѱؘఠ࠙ࢳೞӝ ,($ • ହઁ "84ഝਊೞৈ%BJMZ3FQPSUٜ݅ӝ "84(MPCBM 4VNNJU4FPVM
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ 8FBSFIJSJOH ೣԋݧदझమਸٜ݅যࠊਃ DBSFFS!EFWTJTUFSTDPN
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ 2"
ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧ хࢎפ ః۠ ۽Ӓ दझమ ߄ࢁҊоդೠѐߊܳਤ೧