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
Scalaで実装した 分散処理システムの超概要
Search
Takashi Funato
April 11, 2018
Technology
210
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Scalaで実装した 分散処理システムの超概要
Takashi Funato
April 11, 2018
More Decks by Takashi Funato
See All by Takashi Funato
AWS をちょっとわかった気になる / Kinda feel the AWS
tfunato
0
100
人に優しいAWS運用
tfunato
0
90
OSI reference model Layer I
tfunato
0
62
Goで作るWebアプリケーション Echo 編 といいつつGoの説明多い
tfunato
0
110
Docker勉強会
tfunato
1
160
GISとして活用するElasticsearch
tfunato
6
8k
Other Decks in Technology
See All in Technology
FDEの心得
noriakioji
5
6.3k
SO-101×VLAによる3色キューブのピック&プレース
abeja
0
220
Software Supply Chain Attackからクラウド環境を守るためにできること
lhazy
2
280
同じWAFが、攻撃の“形”は弾く── 正当な“形”の不正は通す
kuroneko13
0
240
PLATEAU で バーチャル花火大会
tatsuya1970
0
170
My broken English still works: speaking at global OSS events
naruoga
0
110
Model Studio CLI × Token Plan
maigo999
0
190
会社紹介資料 / Sansan Company Profile
sansan33
PRO
24
430k
Agent 時代の Kaggle 展望 / kaggle-in-the-agentic-era
upura
1
830
その“隠したつもり”が命取り ── 自前と平文をやめて「正解」に委ねる
kuroneko13
0
130
FORENSIA: ローカルLLMフォレンジックハーネス
sumeshi
2
420
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
19k
Featured
See All Featured
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
66
57k
Utilizing Notion as your number one productivity tool
mfonobong
4
550
エンジニアに許された特別な時間の終わり
watany
108
250k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.4k
Between Models and Reality
mayunak
4
390
Done Done
chrislema
186
16k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.1k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.1k
A Soul's Torment
seathinner
6
3.4k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
490
GitHub's CSS Performance
jonrohan
1033
470k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
Transcript
ScalaͰ࣮ͨ͠ ࢄॲཧγεςϜͷ֓ཁ 2018.04.11 ΏΊΈ ᢠށ ོ
հ • tfunato • αʔόαΠυͬͯ·͢ • PHPɺNode.jsɺJavaɺetc
Agenda • ࢄॲཧ • Sparkͷઆ໌ • ͬͨ͜ͱ • ·ͱΊ
ࢄॲཧ
ࢄॲཧ • ̍ͭͷॲཧΛࢄͯ͠ߦ͏͜ͱ
ͱ͍͑ • ॲཧͷ߹ੑ • ͦΕͧΕͷܭࢉ݁Ռͷ߹ੑ • ॲཧͷޮԽ • ॲཧͷׂ •
ॲཧରσʔλͷɺऩूɺूܭ • ௨৴ϓϩτίϧεέʔϥϏϦςΟɺোੑ…. • ઐ͡Όͳ͍ͷͰৄ͘͠…
ॲཧܥ • ѻ͏σʔλ͍ΘΏΔϏοάσʔλ • ेςϥόΠτ ʙ ϖλόΠτ • ηϯαʔɺυΩϡϝϯτɺϩάɺఱจֶɺେؾԽֶɺήϊϜ etc
• ҰൠతͳRDBͰॲཧ͖͠Εͳ͘ͳͬͨ • ઐ༻ͷϋʔυΣΞιϑτΣΞ • ඇৗʹߴՁ • Google͕MapReduceΛൃද • ͦΕΛͱʹHadoop͕࡞ΒΕOSSԽ
Hadoop͔ΒSpark • ॲཧ͕͍ • ͍Θ͚Ͱͳ͍͕ɺޮ͕ѱ͍ • IOΛฒྻԽͯ͠εϧʔϓοτΛ্͍͛ͯΔ͕ɺٯʹIO ͕ϘτϧωοΫʹͳ͖ͬͯͨ • αʔόߏ͕ෳࡶɺ͔ͭӡ༻͕େม
• NameNodeɺJobTrackerɺDataNodeɺTaskTracker
Hadoop͔ΒSpark • SparkHadoopͷMapReduceΛஔ͖͑Δ • SparkॲཧΛۃྗϝϞϦʔʹͤͯߦ͏ • ඞཁʹͳͬͨΒσΟεΫIO͢Δ • HadoopͷMapReduceΑΓ100ഒૣ͍ͱ͔
Spark
Sparkͷઆ໌ - ࣮ • Scala • Java • Python •
R
Sparkͷઆ໌ - σʔλೖग़ྗ • ༷ʑͳσʔλͷೖग़ྗʹରԠ • Hadoop Distributed File System(HDFS)
• Cassandra • MongoDB • Couchbase • Amazon S3 • RDBʢJDBCͰଓͰ͖ΔͷͰ͋Εʣ • IOपΓͷࣗ࡞
Sparkͷઆ໌ - ѻ͏σʔλܗࣜ • ༷ʑͳσʔλܗࣜʹରԠ • CSVʢTSVʣ • JSON •
Text • ParquetɺORC • ΧϥϜφϑΥʔϚοτʢྻํσʔλʣ • ReadɺWriteΛࣗ࡞
Sparkͷઆ໌ - ॲཧͷجຊ1 • ॲཧͷجຊ • Read • σʔλΛಡΈࠐΉ෦ •
Write • σʔλΛॻ͖ࠐΉ෦
Sparkͷઆ໌ - ॲཧͷجຊ2 • SQLϥΠΫͳΠϯλʔϑΣʔε͕༻ҙ͞Ε͍ͯΔ • Spark SQL • Readͨ͠σʔλʹରͯ͠Ճ
• FilterɺGroupByɺAvgɺOrderByɺMaxɺMinɺCount • JoinɺUnion • ෳͷಡΈࠐΜͩσʔλʹରͯ͠ • https://spark.apache.org/docs/latest/api/scala/ index.html#org.apache.spark.sql.Dataset
Sparkͷઆ໌ - ॲཧͷجຊ̐ • Write • ॻ͖ࠐΈઌͱϑΥʔϚοτΛࢦఆ͢Δ͚ͩ
ͬͨ͜ͱ
ΞʔΩςΫνϟ Amazon Redshift Amazon EMR Amazon S3 104σʔλ 4QBSL
ϩʔΧϧ։ൃڥ • Redshiftͱޓੑͷ͋ΔPostgreSQLΛDocker Ͱىಈ • IntelliJ IDEA͔ΒSparkΛ࣮ߦ • local࣮ߦϞʔυ͕͋Δ •
ϩʔΧϧʹϑΝΠϧग़ྗ
ͬͨ͜ͱ • Redshift͔ΒSQLΛ͛ͯରσʔλऔಘ • ඞཁ࠷খݶͷσʔλΛऔಘ͢Δ • POSσʔλΛूܭͯ͠ϙΠϯτΛ༩͢Δ • ݁ՌΛCSVͱͯ͠S3ʹอଘ
ͬͨ͜ͱ • JenkinsΛδϣϒεέδϡʔϥͱͯ͠༻ • ͔ͭϩάΛCloudWatchʹసૹͯ͠ࢹ • ͔̍̍͠ಈ͔ͳ͍ͷͰৗ࣌ىಈͷΫϥελͱ͠ͳ͍ͰɺऴΘͬ ͨΒΫϥελΛআ • ݁ߏେ͖͍ΠϯελϯεΛ༻ͯ͠େֹͨۚ͠ʹͳΒͳ͍
• ϩάS3ʹग़ྗ͞ΕΔͷͰ֬ೝ͍͢͠ • sbtʹcryptɺdecryptλεΫΛՃͯ͠ڥใΛ҉߸Խ
·ͱΊ
·ͱΊ • ΦʔόʔεϖοΫ͔ͩͬͨ͠Εͳ͍ • ͏ͪΐͬͱςετΛॻ͖͍ߏʹ͖͢ ͩͬͨ • Spark͍͍Α • Scala͍͍Α