SlideShare una empresa de Scribd logo
1 de 83
Descargar para leer sin conexión
BUILDING A REST JOB SERVER

FOR INTERACTIVE SPARK
AS A SERVICE
Romain Rigaux - Cloudera
Erick Tryzelaar - Cloudera
WHY?
NOTEBOOKS

EASY	ACCESS	FROM	ANYWHERE

SHARE	SPARK	CONTEXTS	AND	RDDs

BUILD	APPS

SPARK	MAGIC

…
WHY SPARK

AS A SERVICE?
MARRIED	WITH	FULL	HADOOP	ECOSYSTEM		
WHY SPARK

IN HUE?
HISTORY

V1: OOZIE
• It	works	
• Code	snippet
THE GOOD
• Submit	through	Oozie	
• Shell	ac:on	
• Very	Slow	
• Batch
THE BAD
workflow.xml	
snippet.py
stdout
HISTORY

V2: SPARK IGNITER
• It	works	beAer
THE GOOD
• Compiler	Jar	
• Batch	only,	no	shell	
• No	Python,	R	
• Security	
• Single	point	of	failure
THE BAD Compile
Implement
Upload
json	output
Batch
Scala
jar
Ooyala
HISTORY

V3: NOTEBOOK
• Like	spark-submit	/	spark	shells	
• Scala	/	Python	/	R	shells	
• Jar	/	Python	batch	Jobs	
• Notebook	UI	
• YARN
THE GOOD
• Beta?
THE BAD
Livy
code	snippet batch
GENERAL ARCHITECTURE
Spark
Spark
Spark
Livy YARN
!"
# $
Livy
Spark
Spark
Spark
YARN
API
!"
# $
GENERAL ARCHITECTURE
LIVY SPARK SERVER
LIVY

SPARK SERVER
•REST	Web	server	in	Scala	for	Spark	submissions	
•Interac:ve	Shell	Sessions	or	Batch	Jobs	
•Backends:	Scala,	Java,	Python,	R	
•No	dependency	on	Hue	
•Open	Source:	hAps://github.com/cloudera/
hue/tree/master/apps/spark/java	
•Read	about	it:	hAp://gethue.com/spark/
ARCHITECTURE
• Standard	web	service:	wrapper	around	spark-submit	/	Spark	shells	
• YARN	mode,	Spark	drivers	run	inside	the	cluster	(supports	crashes)	
• No	need	to	inherit	any	interface	or	compile	code	
• Extended	to	work	with	additional	backends
LIVY WEB SERVER

ARCHITECTURE
LOCAL	“DEV”	MODE YARN	MODE
LOCAL
MODE
Livy	Server
Scalatra
Session	Manager
Session
Spark

ContextSpark	
Client
Spark	
Client
Spark

Interpreter
LOCAL
MODE
Livy	Server
Scalatra
Session	Manager
Session
Spark	
Client
Spark	
Client
Spark

Context
Spark

Interpreter
LOCAL
MODE
Spark	
Client
1
Livy	Server
Scalatra
Session	Manager
Session
Spark	
Client
Spark

Context
Spark

Interpreter
LOCAL
MODE
Spark	
Client
1
2
Livy	Server
Scalatra
Session	Manager
Session
Spark	
Client
Spark

Context
Spark

Interpreter
LOCAL
MODE
Spark	
Client
Spark

Interpreter
1
2
Livy	Server
Scalatra
Session	Manager
Session
Spark	
Client
Spark

Context
3
LOCAL
MODE
Spark	
Client
1
2
Livy	Server
Scalatra
Session	Manager
Session
Spark	
Client
Spark

Context
3
4 Spark

Interpreter
LOCAL
MODE
Spark	
Client
1
2
Livy	Server
Scalatra
Session	Manager
Session
Spark	
Client
Spark

Context
3
4
5
Spark

Interpreter
YARN-CLUSTER

MODE
PRODUCTION SCALABLE
YARN	
Master
Spark	
Client
YARN

Node
Spark

Context
YARN

Node
Spark

Worker
YARN

Node
Spark

Worker
Livy	Server
Scalatra
Session	Manager
Session
YARN-CLUSTER

MODE
Spark

Interpreter
Livy	Server
YARN	
Master
Scalatra
Spark	
Client
Session	Manager
Session
YARN

Node
Spark

Context
YARN

Node
Spark

Worker
YARN

Node
Spark

Worker
1
YARN-CLUSTER

MODE
Spark

Interpreter
YARN	
Master
Spark	
Client
YARN

Node
Spark

Context
YARN

Node
Spark

Worker
YARN

Node
Spark

Worker
1
2
Livy	Server
Scalatra
Session	Manager
Session
YARN-CLUSTER

MODE
Spark

Interpreter
YARN	
Master
Spark	
Client
YARN

Node
Spark

Context
YARN

Node
Spark

Worker
YARN

Node
Spark

Worker
1
2
3
Livy	Server
Scalatra
Session	Manager
Session
YARN-CLUSTER

MODE
Spark

Interpreter
YARN	
Master
Spark	
Client
YARN

Node
Spark

Context
YARN

Node
Spark

Worker
YARN

Node
Spark

Worker
1
2
3
4
Livy	Server
Scalatra
Session	Manager
Session
YARN-CLUSTER

MODE
Spark

Interpreter
YARN	
Master
Spark	
Client
YARN

Node
Spark

Context
YARN

Node
Spark

Worker
YARN

Node
Spark

Worker
1
2
3
4
5
Livy	Server
Scalatra
Session	Manager
Session
YARN-CLUSTER

MODE
Spark

Interpreter
YARN	
Master
Spark	
Client
YARN

Node
Spark

Context
YARN

Node
Spark

Worker
YARN

Node
Spark

Worker
1
2
3
4
5
6
Livy	Server
Scalatra
Session	Manager
Session
YARN-CLUSTER

MODE
Spark

Interpreter
YARN	
Master
Spark	
Client
YARN

Node
Spark

Context
YARN

Node
Spark

Worker
YARN

Node
Spark

Worker
1 7
2
3
4
5
6
Livy	Server
Scalatra
Session	Manager
Session
YARN-CLUSTER

MODE
Spark

Interpreter
SESSION CREATION AND EXECUTION
%	curl	-XPOST	localhost:8998/sessions		
		-d	'{"kind":	"spark"}'	
{	
		"id":	0,	
		"kind":	"spark",	
		"log":	[...],	
		"state":	"idle"	
}	
%	curl	-XPOST	localhost:8998/sessions/0/statements	-d	'{"code":	"1+1"}'	
{	
		"id":	0,	
		"output":	{	
				"data":	{	"text/plain":	"res0:	Int	=	2"	},	
				"execution_count":	0,	
				"status":	"ok"	
		},	
		"state":	"available"	
}
Jar
Py
Scala
Python
R
Livy
Spark
Spark
Spark
YARN
/batches
/sessions
BATCH OR INTERACTIVE
SHELL OR BATCH?
YARN	
Master
Spark	
Client
YARN

Node
Spark

Interpreter
Spark

Context
YARN

Node
Spark

Worker
YARN

Node
Spark

Worker
Livy	Server
Scalatra
Session	Manager
Session
SHELL
YARN	
Master
Spark	
Client
YARN

Node
pyspark
Spark

Context
YARN

Node
Spark

Worker
YARN

Node
Spark

Worker
Livy	Server
Scalatra
Session	Manager
Session
BATCH
YARN	
Master
Spark	
Client
YARN

Node
spark-
submit
Spark

Context
YARN

Node
Spark

Worker
YARN

Node
Spark

Worker
Livy	Server
Scalatra
Session	Manager
Session
LIVY INTERPRETERSScala,	Python,	R…
REMEMBER?
YARN	
Master
Spark	Client
YARN

Node
Spark

Context
YARN

Node
Spark

Worker
YARN

Node
Spark

Worker
Livy	Server
Scalatra
Session	Manager
Session
Spark

Interpreter
INTERPRETERS
• Pipe	stdin/stdout	to	a	running	shell	
• Execute	the	code	/	send	to	Spark	
workers	
• Perform	magic	opera:ons	
• One	interpreter	per	language	
• “Swappable”	with	other	kernels	
(python,	spark..)
Interpreter
>	println(1	+	1)	
2
println(1	+	1)
2
Livy	Server
INTERPRETER FLOW
Interpreter
Livy	Server
>	1	+	1
Interpreter
INTERPRETER FLOW
Livy	Server
{“code”:	“1+1”}
>	1	+	1
Interpreter
INTERPRETER FLOW
Livy	Server Interpreter
1+1	
{“code”:	“1+1”}
>	1	+	1
INTERPRETER FLOW
Livy	Server Interpreter
1+1	
{“code”:	“1+1”}
>	1	+	1
Magic
INTERPRETER FLOW
Livy	Server
2	
Interpreter
1+1	
{“code”:	“1+1”}
>	1	+	1
Magic
INTERPRETER FLOW
{	
		“data”:	{	
				“application/json”:	“2”	
		}	
}	
Livy	Server
2	
Interpreter
1+1	
{“code”:	“1+1”}
>	1	+	1
Magic
INTERPRETER FLOW
{	
		“data”:	{	
				“application/json”:	“2”	
		}	
}	
Livy	Server
2	
Interpreter
1+1	
{“code”:	“1+1”}
>	1	+	1
2 Magic
INTERPRETER FLOW
INTERPRETER FLOW CHART
Receive	lines
Split	into	
Chunks
Send	output

to	server
Send	error	to	
server
Success
Execute	ChunkMagic!
Chunks	
le[?
Magic	
chunk?
No
Yes
NoYes
Example	of	parsing
INTERPRETER MAGIC
• table	
• json	
• plotting	
• ...
NO MAGIC
>	1	+	1
Interpreter
1+1
sparkIMain.interpret(“1+1”)
{	
		"id":	0,	
		"output":	{	
				"application/json":	2	
		}	
}
[('',	506610),	('the',	23407),	('I',	19540)...	]	
JSON MAGIC
>	counts
sparkIMain.valueOfTerm(“counts”)	
.toJson()
Interpreter
val	lines	=	sc.textFile("shakespeare.txt");	
val	counts	=	lines.	
		flatMap(line	=>	line.split("	")).	
				map(word	=>	(word,	1)).	
				reduceByKey(_	+	_).	
				sortBy(-_._2).	
				map	{	case	(w,	c)	=>	
				Map("word"	->	w,	"count"	->	c)	
				}	
%json	counts
JSON MAGIC
>	counts
sparkIMain.valueOfTerm(“counts”)	
.toJson()
Interpreter
{	
		"id":	0,	
		"output":	{	
				"application/json":	[	
						{	"count":	506610,	"word":	""	},	
						{	"count":	23407,	"word":	"the"	},	
						{	"count":	19540,	"word":	"I"	},	
						...	
				]	
		...	
}	
val	lines	=	sc.textFile("shakespeare.txt");	
val	counts	=	lines.	
		flatMap(line	=>	line.split("	")).	
				map(word	=>	(word,	1)).	
				reduceByKey(_	+	_).	
				sortBy(-_._2).	
				map	{	case	(w,	c)	=>	
				Map("word"	->	w,	"count"	->	c)	
				}	
%json	counts
[('',	506610),	('the',	23407),	('I',	19540)...	]	
TABLE MAGIC
>	counts
Interpreter
val	lines	=	sc.textFile("shakespeare.txt");	
val	counts	=	lines.	
		flatMap(line	=>	line.split("	")).	
				map(word	=>	(word,	1)).	
				reduceByKey(_	+	_).	
				sortBy(-_._2).	
				map	{	case	(w,	c)	=>	
				Map("word"	->	w,	"count"	->	c)	
				}	
%table	counts
sparkIMain.valueOfTerm(“counts”)	
.guessHeaders().toList()
TABLE MAGIC
>	counts
sparkIMain.valueOfTerm(“counts”)	
.guessHeaders().toList()
Interpreter
val	lines	=	sc.textFile("shakespeare.txt");	
val	counts	=	lines.	
		flatMap(line	=>	line.split("	")).	
				map(word	=>	(word,	1)).	
				reduceByKey(_	+	_).	
				sortBy(-_._2).	
				map	{	case	(w,	c)	=>	
				Map("word"	->	w,	"count"	->	c)	
				}	
%table	counts
"application/vnd.livy.table.v1+json":	{	
		"headers":	[	
				{	"name":	"count",	"type":	"BIGINT_TYPE"	},	
				{	"name":	"name",	"type":	"STRING_TYPE"	}	
		],	
		"data":	[	
				[	23407,	"the"	],	
				[	19540,	"I"	],	
				[	18358,	"and"	],	
								...	
		]	
}
PLOT MAGIC
	>
sparkIMain.interpret(“png(‘/tmp/
plot.png’)	barplot	dev.off()”)	
Interpreter
...	
barplot(sorted_data
$count,names.arg=sorted_data$value,	
main="Resource	hits",	las=2,	
col=colfunc(nrow(sorted_data)),	
ylim=c(0,300))
PLOT MAGIC
	>
sparkIMain.interpret(“png(‘/tmp/
plot.png’)	barplot	dev.off()”)	
Interpreter
...	
barplot(sorted_data
$count,names.arg=sorted_data$value,	
main="Resource	hits",	las=2,	
col=colfunc(nrow(sorted_data)),	
ylim=c(0,300))
PLOT MAGIC
	>	png(‘/tmp/..’)	
	>	barplot	
	>	dev.off()
sparkIMain.interpret(“png(‘/tmp/
plot.png’)	barplot	dev.off()”)	
Interpreter
...	
barplot(sorted_data
$count,names.arg=sorted_data$value,	
main="Resource	hits",	las=2,	
col=colfunc(nrow(sorted_data)),	
ylim=c(0,300))
PLOT MAGIC
	>	png(‘/tmp/..’)	
	>	barplot	
	>	dev.off()
sparkIMain.interpret(“png(‘/tmp/
plot.png’)	barplot	dev.off()”)	
File(’/tmp/plot.png’).read().toBase64()
Interpreter
...	
barplot(sorted_data
$count,names.arg=sorted_data$value,	
main="Resource	hits",	las=2,	
col=colfunc(nrow(sorted_data)),	
ylim=c(0,300))
PLOT MAGIC
	>	png(‘/tmp/..’)	
	>	barplot	
	>	dev.off()
sparkIMain.interpret(“png(‘/tmp/
plot.png’)	barplot	dev.off()”)	
File(’/tmp/plot.png’).read().toBase64()
Interpreter
...	
barplot(sorted_data
$count,names.arg=sorted_data$value,	
main="Resource	hits",	las=2,	
col=colfunc(nrow(sorted_data)),	
ylim=c(0,300))
{	
		"data":	{	
				"image/png":	"iVBORw0KGgoAAAANSUhEU
					...	
				}	
		...	
}
• Pluggable	Backends	
• Livy's	Spark	Backends	
– Scala	
– pyspark	
– R	
• IPython	/	Jupyter	support	coming	soon
PLUGGABLE INTERPRETERS
• Re-using	it	
• Generic	Framework	
for	Interpreters	
• 51	Kernels
JUPYTER BACKEND

SPARK AS A SERVICE
REMEMBER AGAIN?
YARN	
Master
Spark	Client
YARN

Node
Spark

Context
YARN

Node
Spark

Worker
YARN

Node
Spark

Worker
Livy	Server
Scalatra
Session	Manager
Session
Spark

Interpreter
MULTI USERS
YARN

Node
Spark

Context
Livy	Server
Scalatra
Session	Manager
Session
Spark

Interpreter YARN

Node
Spark

Context
Spark

Interpreter
YARN

Node
Spark

Context
Spark

Interpreter
Spark	
Client
Spark	
Client
Spark	
Client
SHARED CONTEXTS?
YARN

Node
Spark

Context
Livy	Server
Scalatra
Session	Manager
Session
Spark

Interpreter
Spark	
Client
Spark	
Client
Spark	
Client
SHARED RDD?
YARN

Node
Spark

Context
Livy	Server
Scalatra
Session	Manager
Session
Spark

Interpreter
Spark	
Client
Spark	
Client
Spark	
Client
RDD
SHARED RDDS?
YARN

Node
Spark

Context
Livy	Server
Scalatra
Session	Manager
Session
Spark

Interpreter
Spark	
Client
Spark	
Client
Spark	
Client
RDD
RDD
RDD
YARN

Node
Spark

Context
Livy	Server
Scalatra
Session	Manager
Session
Spark

Interpreter
Spark	
Client
Spark	
Client
Spark	
Client
RDD
RDD
RDD
SECURE IT?
YARN

Node
Spark

Context
Livy	Server
Scalatra
Session	Manager
Session
Spark

Interpreter
Spark	
Client
Spark	
Client
Spark	
Client
RDD
RDD
RDD
SECURE IT?
Livy	Server
Spark
Spark	
Client
Spark	
Client
Spark	
Client
SPARK AS SERVICE
Spark
SHARING RDDS
PySpark	shell
RDD
Shell
Python	
Shell
PySpark	shell
RDD
Shell
Python	
Shell
PySpark	shell
RDD
Shell
Python	
Shell
r	=	sc.parallelize([])	
srdd	=	ShareableRdd(r)
PySpark	shell
RDD
{'ak':	'Alaska'}
{'ca':	'California'}
Shell
Python	
Shell
r	=	sc.parallelize([])	
srdd	=	ShareableRdd(r)
PySpark	shell
RDD
{'ak':	'Alaska'}
{'ca':	'California'}
Shell
Python	
Shell
curl	-XPOST	/sessions/0/statement	{	
			'code':	srdd.get('ak')	
}
r	=	sc.parallelize([])	
srdd	=	ShareableRdd(r)
PySpark	shell
RDD
{'ak':	'Alaska'}
{'ca':	'California'}
Shell
Python	
Shell
states	=	SharedRdd('host/sessions/0',	'srdd')	
states.get('ak')
r	=	sc.parallelize([])	
srdd	=	ShareableRdd(r)	
curl	-XPOST	/sessions/0/statement	{	
			'code':	srdd.get('ak')	
}
DEMO
TIME

https://github.com/romainr/hadoop-tutorials-examples/tree/master/notebook/shared_rdd
• SSL	Support	
• Persistent	Sessions	
• Kerberos
SECURITY
SPARK MAGIC
•From	Microsop	
•Python	magics	for	working	with	remote	Spark	
clusters	
•Open	Source:	hAps://github.com/jupyter-
incubator/sparkmagic
FUTURE
•Move	to	ext	repo?	
•Security	
•iPython/Jupyter	backends	and	file	format	
•Shared	named	RDD	/	contexts?	
•Share	data	
•Spark	specific,	language	generic,	both?	
•Leverage	Hue	4
https://issues.cloudera.org/browse/HUE-2990
• Open	Source:	hAps://github.com/cloudera/
hue/tree/master/apps/spark/java	
• Read	about	it:	hAp://gethue.com/spark/
•Scala,	Java,	Python,	R	
•Type	Introspec:on	for	Visualiza:on	
•YARN-cluster	or	local	modes	
•Code	snippets	/	compiled	
•REST	API
•Pluggable	backends	
•Magic	keywords	
•Failure	resilient	
•Security
LIVY’S

CHEAT SHEET
BEDANKT!

TWITTER
@gethue
USER GROUP
hue-user@
WEBSITE
hAp://gethue.com
LEARN
hAp://learn.gethue.com

Más contenido relacionado

La actualidad más candente

Đồ án Nghiên cứu hệ thống phân loại sản phẩm theo chiều cao bằng PLC
Đồ án Nghiên cứu hệ thống phân loại sản phẩm theo chiều cao bằng PLCĐồ án Nghiên cứu hệ thống phân loại sản phẩm theo chiều cao bằng PLC
Đồ án Nghiên cứu hệ thống phân loại sản phẩm theo chiều cao bằng PLC
Vita Howe
 
Quản trị và phân tích số liệu Từ excel đến Business Intelligence
Quản trị và phân tích số liệu Từ excel đến Business IntelligenceQuản trị và phân tích số liệu Từ excel đến Business Intelligence
Quản trị và phân tích số liệu Từ excel đến Business Intelligence
Tuan Le
 
Thiết kế mạch điện tử (1).pdf
Thiết kế mạch điện tử (1).pdfThiết kế mạch điện tử (1).pdf
Thiết kế mạch điện tử (1).pdf
AnhTVit1
 

La actualidad más candente (12)

GIG Working Paper 03/2017 - Consent
GIG Working Paper 03/2017 - ConsentGIG Working Paper 03/2017 - Consent
GIG Working Paper 03/2017 - Consent
 
Đồ án Nghiên cứu hệ thống phân loại sản phẩm theo chiều cao bằng PLC
Đồ án Nghiên cứu hệ thống phân loại sản phẩm theo chiều cao bằng PLCĐồ án Nghiên cứu hệ thống phân loại sản phẩm theo chiều cao bằng PLC
Đồ án Nghiên cứu hệ thống phân loại sản phẩm theo chiều cao bằng PLC
 
PHÁT TRIỂN CHO VAY KHÁCH HÀNG CÁ NHÂN TẠI NGÂN HÀNG TMCP QUỐC DÂN
PHÁT TRIỂN CHO VAY KHÁCH HÀNG CÁ NHÂN TẠI NGÂN HÀNG TMCP QUỐC DÂNPHÁT TRIỂN CHO VAY KHÁCH HÀNG CÁ NHÂN TẠI NGÂN HÀNG TMCP QUỐC DÂN
PHÁT TRIỂN CHO VAY KHÁCH HÀNG CÁ NHÂN TẠI NGÂN HÀNG TMCP QUỐC DÂN
 
Chương 8 Phân tích CSDL kinh doanh với SQL
Chương 8 Phân tích CSDL kinh doanh với SQLChương 8 Phân tích CSDL kinh doanh với SQL
Chương 8 Phân tích CSDL kinh doanh với SQL
 
Cơ sở lý luận về thẩm định tín dụng tại doanh nghiệp
Cơ sở lý luận về thẩm định tín dụng tại doanh nghiệpCơ sở lý luận về thẩm định tín dụng tại doanh nghiệp
Cơ sở lý luận về thẩm định tín dụng tại doanh nghiệp
 
Quản trị và phân tích số liệu Từ excel đến Business Intelligence
Quản trị và phân tích số liệu Từ excel đến Business IntelligenceQuản trị và phân tích số liệu Từ excel đến Business Intelligence
Quản trị và phân tích số liệu Từ excel đến Business Intelligence
 
Lập kế hoạch bán hàng
Lập kế hoạch bán hàngLập kế hoạch bán hàng
Lập kế hoạch bán hàng
 
Hoàn thiện công tác hoạch định chiến lược kinh doanh tại công ty trách nhiệm ...
Hoàn thiện công tác hoạch định chiến lược kinh doanh tại công ty trách nhiệm ...Hoàn thiện công tác hoạch định chiến lược kinh doanh tại công ty trách nhiệm ...
Hoàn thiện công tác hoạch định chiến lược kinh doanh tại công ty trách nhiệm ...
 
Nâng cao chất lượng cho vay đối với khách hàng doanh nghiệp vừa và nhỏ tại ch...
Nâng cao chất lượng cho vay đối với khách hàng doanh nghiệp vừa và nhỏ tại ch...Nâng cao chất lượng cho vay đối với khách hàng doanh nghiệp vừa và nhỏ tại ch...
Nâng cao chất lượng cho vay đối với khách hàng doanh nghiệp vừa và nhỏ tại ch...
 
Thiết kế mạch điện tử (1).pdf
Thiết kế mạch điện tử (1).pdfThiết kế mạch điện tử (1).pdf
Thiết kế mạch điện tử (1).pdf
 
Quản trị tài sản có nội bảng tại ngân hàng nông nghiệp và phát triển nông thô...
Quản trị tài sản có nội bảng tại ngân hàng nông nghiệp và phát triển nông thô...Quản trị tài sản có nội bảng tại ngân hàng nông nghiệp và phát triển nông thô...
Quản trị tài sản có nội bảng tại ngân hàng nông nghiệp và phát triển nông thô...
 
Presentation for Apple M1 chip
Presentation for Apple M1 chipPresentation for Apple M1 chip
Presentation for Apple M1 chip
 

Similar a Building a REST Job Server for interactive Spark as a service by Romain Rigaux and Erick Tryzelaar

Spark Summit 2014: Spark Job Server Talk
Spark Summit 2014:  Spark Job Server TalkSpark Summit 2014:  Spark Job Server Talk
Spark Summit 2014: Spark Job Server Talk
Evan Chan
 

Similar a Building a REST Job Server for interactive Spark as a service by Romain Rigaux and Erick Tryzelaar (20)

Interactive Apache Spark in Your Browser
Interactive Apache Spark in Your BrowserInteractive Apache Spark in Your Browser
Interactive Apache Spark in Your Browser
 
Containers and CloudStack
Containers and CloudStackContainers and CloudStack
Containers and CloudStack
 
Cassandra Day SV 2014: Spark, Shark, and Apache Cassandra
Cassandra Day SV 2014: Spark, Shark, and Apache CassandraCassandra Day SV 2014: Spark, Shark, and Apache Cassandra
Cassandra Day SV 2014: Spark, Shark, and Apache Cassandra
 
Spark Summit 2014: Spark Job Server Talk
Spark Summit 2014:  Spark Job Server TalkSpark Summit 2014:  Spark Job Server Talk
Spark Summit 2014: Spark Job Server Talk
 
Lagergren jvmls-2014-final
Lagergren jvmls-2014-finalLagergren jvmls-2014-final
Lagergren jvmls-2014-final
 
Livy: A REST Web Service for Spark
Livy: A REST Web Service for SparkLivy: A REST Web Service for Spark
Livy: A REST Web Service for Spark
 
Spark Job Server and Spark as a Query Engine (Spark Meetup 5/14)
Spark Job Server and Spark as a Query Engine (Spark Meetup 5/14)Spark Job Server and Spark as a Query Engine (Spark Meetup 5/14)
Spark Job Server and Spark as a Query Engine (Spark Meetup 5/14)
 
Apache big-data-2017-spark-profiling
Apache big-data-2017-spark-profilingApache big-data-2017-spark-profiling
Apache big-data-2017-spark-profiling
 
Everything-as-code. A polyglot adventure. #DevoxxPL
Everything-as-code. A polyglot adventure. #DevoxxPLEverything-as-code. A polyglot adventure. #DevoxxPL
Everything-as-code. A polyglot adventure. #DevoxxPL
 
Everything-as-code - A polyglot adventure
Everything-as-code - A polyglot adventureEverything-as-code - A polyglot adventure
Everything-as-code - A polyglot adventure
 
Building Serverless APIs (January 2017)
Building Serverless APIs (January 2017)Building Serverless APIs (January 2017)
Building Serverless APIs (January 2017)
 
Apache Spark Streaming in K8s with ArgoCD & Spark Operator
Apache Spark Streaming in K8s with ArgoCD & Spark OperatorApache Spark Streaming in K8s with ArgoCD & Spark Operator
Apache Spark Streaming in K8s with ArgoCD & Spark Operator
 
Homologous Apache Spark Clusters Using Nomad with Alex Dadgar
Homologous Apache Spark Clusters Using Nomad with Alex DadgarHomologous Apache Spark Clusters Using Nomad with Alex Dadgar
Homologous Apache Spark Clusters Using Nomad with Alex Dadgar
 
An Automated Laser Pointer for Your Dog : Aws IoT & Lambda
An Automated Laser Pointer for Your Dog : Aws IoT & Lambda An Automated Laser Pointer for Your Dog : Aws IoT & Lambda
An Automated Laser Pointer for Your Dog : Aws IoT & Lambda
 
cadec-2017-golang
cadec-2017-golangcadec-2017-golang
cadec-2017-golang
 
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integrationSouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
 
SparkR + Zeppelin
SparkR + ZeppelinSparkR + Zeppelin
SparkR + Zeppelin
 
Great Tools Heavily Used In Japan, You Don't Know.
Great Tools Heavily Used In Japan, You Don't Know.Great Tools Heavily Used In Japan, You Don't Know.
Great Tools Heavily Used In Japan, You Don't Know.
 
OpenInfraDays2019 Mastering Openstack the DevOps way
OpenInfraDays2019 Mastering Openstack the DevOps wayOpenInfraDays2019 Mastering Openstack the DevOps way
OpenInfraDays2019 Mastering Openstack the DevOps way
 
Consuming Cinder from Docker
Consuming Cinder from DockerConsuming Cinder from Docker
Consuming Cinder from Docker
 

Más de Spark Summit

Apache Spark Structured Streaming Helps Smart Manufacturing with Xiaochang Wu
Apache Spark Structured Streaming Helps Smart Manufacturing with  Xiaochang WuApache Spark Structured Streaming Helps Smart Manufacturing with  Xiaochang Wu
Apache Spark Structured Streaming Helps Smart Manufacturing with Xiaochang Wu
Spark Summit
 
Improving Traffic Prediction Using Weather Data with Ramya Raghavendra
Improving Traffic Prediction Using Weather Data  with Ramya RaghavendraImproving Traffic Prediction Using Weather Data  with Ramya Raghavendra
Improving Traffic Prediction Using Weather Data with Ramya Raghavendra
Spark Summit
 
MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...
MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...
MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...
Spark Summit
 
Improving Traffic Prediction Using Weather Datawith Ramya Raghavendra
Improving Traffic Prediction Using Weather Datawith Ramya RaghavendraImproving Traffic Prediction Using Weather Datawith Ramya Raghavendra
Improving Traffic Prediction Using Weather Datawith Ramya Raghavendra
Spark Summit
 
Deduplication and Author-Disambiguation of Streaming Records via Supervised M...
Deduplication and Author-Disambiguation of Streaming Records via Supervised M...Deduplication and Author-Disambiguation of Streaming Records via Supervised M...
Deduplication and Author-Disambiguation of Streaming Records via Supervised M...
Spark Summit
 
MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...
MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...
MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...
Spark Summit
 

Más de Spark Summit (20)

FPGA-Based Acceleration Architecture for Spark SQL Qi Xie and Quanfu Wang
FPGA-Based Acceleration Architecture for Spark SQL Qi Xie and Quanfu Wang FPGA-Based Acceleration Architecture for Spark SQL Qi Xie and Quanfu Wang
FPGA-Based Acceleration Architecture for Spark SQL Qi Xie and Quanfu Wang
 
VEGAS: The Missing Matplotlib for Scala/Apache Spark with DB Tsai and Roger M...
VEGAS: The Missing Matplotlib for Scala/Apache Spark with DB Tsai and Roger M...VEGAS: The Missing Matplotlib for Scala/Apache Spark with DB Tsai and Roger M...
VEGAS: The Missing Matplotlib for Scala/Apache Spark with DB Tsai and Roger M...
 
Apache Spark Structured Streaming Helps Smart Manufacturing with Xiaochang Wu
Apache Spark Structured Streaming Helps Smart Manufacturing with  Xiaochang WuApache Spark Structured Streaming Helps Smart Manufacturing with  Xiaochang Wu
Apache Spark Structured Streaming Helps Smart Manufacturing with Xiaochang Wu
 
Improving Traffic Prediction Using Weather Data with Ramya Raghavendra
Improving Traffic Prediction Using Weather Data  with Ramya RaghavendraImproving Traffic Prediction Using Weather Data  with Ramya Raghavendra
Improving Traffic Prediction Using Weather Data with Ramya Raghavendra
 
A Tale of Two Graph Frameworks on Spark: GraphFrames and Tinkerpop OLAP Artem...
A Tale of Two Graph Frameworks on Spark: GraphFrames and Tinkerpop OLAP Artem...A Tale of Two Graph Frameworks on Spark: GraphFrames and Tinkerpop OLAP Artem...
A Tale of Two Graph Frameworks on Spark: GraphFrames and Tinkerpop OLAP Artem...
 
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark Marcin ...
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark Marcin ...No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark Marcin ...
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark Marcin ...
 
Apache Spark and Tensorflow as a Service with Jim Dowling
Apache Spark and Tensorflow as a Service with Jim DowlingApache Spark and Tensorflow as a Service with Jim Dowling
Apache Spark and Tensorflow as a Service with Jim Dowling
 
Apache Spark and Tensorflow as a Service with Jim Dowling
Apache Spark and Tensorflow as a Service with Jim DowlingApache Spark and Tensorflow as a Service with Jim Dowling
Apache Spark and Tensorflow as a Service with Jim Dowling
 
MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...
MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...
MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...
 
Next CERN Accelerator Logging Service with Jakub Wozniak
Next CERN Accelerator Logging Service with Jakub WozniakNext CERN Accelerator Logging Service with Jakub Wozniak
Next CERN Accelerator Logging Service with Jakub Wozniak
 
Powering a Startup with Apache Spark with Kevin Kim
Powering a Startup with Apache Spark with Kevin KimPowering a Startup with Apache Spark with Kevin Kim
Powering a Startup with Apache Spark with Kevin Kim
 
Improving Traffic Prediction Using Weather Datawith Ramya Raghavendra
Improving Traffic Prediction Using Weather Datawith Ramya RaghavendraImproving Traffic Prediction Using Weather Datawith Ramya Raghavendra
Improving Traffic Prediction Using Weather Datawith Ramya Raghavendra
 
Hiding Apache Spark Complexity for Fast Prototyping of Big Data Applications—...
Hiding Apache Spark Complexity for Fast Prototyping of Big Data Applications—...Hiding Apache Spark Complexity for Fast Prototyping of Big Data Applications—...
Hiding Apache Spark Complexity for Fast Prototyping of Big Data Applications—...
 
How Nielsen Utilized Databricks for Large-Scale Research and Development with...
How Nielsen Utilized Databricks for Large-Scale Research and Development with...How Nielsen Utilized Databricks for Large-Scale Research and Development with...
How Nielsen Utilized Databricks for Large-Scale Research and Development with...
 
Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...
Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...
Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...
 
Goal Based Data Production with Sim Simeonov
Goal Based Data Production with Sim SimeonovGoal Based Data Production with Sim Simeonov
Goal Based Data Production with Sim Simeonov
 
Preventing Revenue Leakage and Monitoring Distributed Systems with Machine Le...
Preventing Revenue Leakage and Monitoring Distributed Systems with Machine Le...Preventing Revenue Leakage and Monitoring Distributed Systems with Machine Le...
Preventing Revenue Leakage and Monitoring Distributed Systems with Machine Le...
 
Getting Ready to Use Redis with Apache Spark with Dvir Volk
Getting Ready to Use Redis with Apache Spark with Dvir VolkGetting Ready to Use Redis with Apache Spark with Dvir Volk
Getting Ready to Use Redis with Apache Spark with Dvir Volk
 
Deduplication and Author-Disambiguation of Streaming Records via Supervised M...
Deduplication and Author-Disambiguation of Streaming Records via Supervised M...Deduplication and Author-Disambiguation of Streaming Records via Supervised M...
Deduplication and Author-Disambiguation of Streaming Records via Supervised M...
 
MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...
MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...
MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...
 

Último

Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
shivangimorya083
 
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts ServiceCall Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get CytotecAbortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Riyadh +966572737505 get cytotec
 
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
amitlee9823
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdf
MarinCaroMartnezBerg
 
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in  KishangarhDelhi 99530 vip 56974 Genuine Escort Service Call Girls in  Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
Lars Albertsson
 

Último (20)

CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptx
 
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
 
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts ServiceCall Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interaction
 
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get CytotecAbortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFx
 
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptx
 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptx
 
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdf
 
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
 
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in  KishangarhDelhi 99530 vip 56974 Genuine Escort Service Call Girls in  Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
 
Data-Analysis for Chicago Crime Data 2023
Data-Analysis for Chicago Crime Data  2023Data-Analysis for Chicago Crime Data  2023
Data-Analysis for Chicago Crime Data 2023
 
BabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxBabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptx
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptx
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signals
 
Sampling (random) method and Non random.ppt
Sampling (random) method and Non random.pptSampling (random) method and Non random.ppt
Sampling (random) method and Non random.ppt
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
 

Building a REST Job Server for interactive Spark as a service by Romain Rigaux and Erick Tryzelaar