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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Takashi Funato
April 11, 2018
Technology
200
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
86
OSI reference model Layer I
tfunato
0
60
Goで作るWebアプリケーション Echo 編 といいつつGoの説明多い
tfunato
0
110
Docker勉強会
tfunato
1
160
GISとして活用するElasticsearch
tfunato
6
8k
Other Decks in Technology
See All in Technology
LLMと共に進化するプロセスを目指して
ymatsuwitter
12
4k
Microsoft Build Keynoteふりかえり
tomokusaba
0
120
タクシーアプリ『GO』の実践的データ活用
mot_techtalk
3
190
Agentic Web
dynamis
1
200
"何を作るか"を任される エンジニアは、どう育つのか
yutaokafuji
1
600
社内 AI エージェント Synapse と セマンティックレイヤーの育て方
hiroakis
2
1.7k
Dario Amodi『Policy on the AI Exponential』を理解する
nagatsu
0
220
Socrates × Looker 〜セマンティックレイヤーで進化するデータ分析エージェント〜
hanon52_
3
2.1k
機械学習を「社会実装」するということ 2026年夏版 / Social Implementation of Machine Learning June 2026 Version
moepy_stats
4
1.5k
地球に⽣きるAI —GeoAIと「中間領域」— / AI Living on Earth — GeoAI and the “Intermediate Layer” —
ykiyota
0
280
AWSシリコン最前線 〜AI時代のチップ選択を読み解く〜
htokoyo
2
460
チームで進めるAI駆動アジャイル×ウォーターフォール
kumaiu
0
150
Featured
See All Featured
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
Into the Great Unknown - MozCon
thekraken
41
2.6k
Marketing to machines
jonoalderson
1
5.4k
Building Adaptive Systems
keathley
44
3k
RailsConf 2023
tenderlove
30
1.5k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
200
Building Applications with DynamoDB
mza
96
7.1k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
440
New Earth Scene 8
popppiees
3
2.3k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
The SEO identity crisis: Don't let AI make you average
varn
0
490
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
240
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͍͍Α