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
Spark Jobserver
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Yegor Andreenko
October 20, 2016
Technology
1
110
Spark Jobserver
Spark Jobserver and why you should use it
Yegor Andreenko
October 20, 2016
Tweet
Share
More Decks by Yegor Andreenko
See All by Yegor Andreenko
ClickHouse: Intro & Scalability
f1yegor
0
27
ClickHouse exporter
f1yegor
0
430
ClickHouse Intro
f1yegor
0
210
Other Decks in Technology
See All in Technology
Agile Leadership Summit Keynote 2026
m_seki
1
620
What happened to RubyGems and what can we learn?
mikemcquaid
0
300
Kiro IDEのドキュメントを全部読んだので地味だけどちょっと嬉しい機能を紹介する
khmoryz
0
200
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
17k
M&A 後の統合をどう進めるか ─ ナレッジワーク × Poetics が実践した組織とシステムの融合
kworkdev
PRO
1
450
Amazon Bedrock Knowledge Basesチャンキング解説!
aoinoguchi
0
140
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
3
2.5k
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
270
クレジットカード決済基盤を支えるSRE - 厳格な監査とSRE運用の両立 (SRE Kaigi 2026)
capytan
6
2.8k
広告の効果検証を題材にした因果推論の精度検証について
zozotech
PRO
0
180
AIと新時代を切り拓く。これからのSREとメルカリIBISの挑戦
0gm
0
1.2k
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
68k
Featured
See All Featured
The Invisible Side of Design
smashingmag
302
51k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
My Coaching Mixtape
mlcsv
0
48
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Bash Introduction
62gerente
615
210k
The Language of Interfaces
destraynor
162
26k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2k
Transcript
None
None
None
None
curl --data-binary @my-spark-job-allinone.jar jobserver:8090/jars/demo curl -d "" jobserver:8090/contexts/agg?num-cpu-cores=2&memory-per-node=2048m curl -d
"input.string = A lazy dog jumped mean dog" \ 'jobserver:8090/jobs?appName=demo&context=agg&classPath=spark.jobserver.WordCountExample' { "status": "STARTED", "result": { "jobId": "a3e0e19d-f10f-4b78-9eb3-e65d63853a74", "context": "agg" } }
object WordCountExample extends SparkJob { override def validate(sc: SparkContext, config:
Config): SparkJobValidation = { Try(config.getString(“input.string”)) .map(x => SparkJobValid) .getOrElse(SparkJobInvalid(“No input.string”)) } override def runJob(sc: SparkContext, config: Config): Any = { val dd = sc.parallelize(config.getString(“input.string”).split(" ").toSeq) dd.map((_, 1)).reduceByKey(_ + _).collect().toMap } }
this.namedRdds.update("french_dictionary", frenchDictionaryRDD) val rdd = this.namedRdds.get[(String, String)]("french_dictionary").get val NamedRDD(frenchDictionaryRDD, _
,_) = namedObjects.get[NamedRDD[(String, String)]]("rdd:french_dictionary").get val NamedDataFrame(frenchDictionaryDF, _, _) = namedObjects.get[NamedDataFrame]("df:some df").get
None
None