SlideShare a Scribd company logo
1 of 83
Download to read offline
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.oļ¬€()ā€)	
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.oļ¬€()ā€)	
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.oļ¬€()
sparkIMain.interpret(ā€œpng(ā€˜/tmp/
plot.pngā€™)	barplot	dev.oļ¬€()ā€)	
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.oļ¬€()
sparkIMain.interpret(ā€œpng(ā€˜/tmp/
plot.pngā€™)	barplot	dev.oļ¬€()ā€)	
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.oļ¬€()
sparkIMain.interpret(ā€œpng(ā€˜/tmp/
plot.pngā€™)	barplot	dev.oļ¬€()ā€)	
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	ļ¬le	format	
ā€¢Shared	named	RDD	/	contexts?	
ā€¢Share	data	
ā€¢Spark	speciļ¬c,	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

More Related Content

What's hot

What's hot (19)

Webinar: Queues with RabbitMQ - Lorna Mitchell
Webinar: Queues with RabbitMQ - Lorna MitchellWebinar: Queues with RabbitMQ - Lorna Mitchell
Webinar: Queues with RabbitMQ - Lorna Mitchell
Ā 
Voldemort恮ē“¹ä»‹
Voldemort恮ē“¹ä»‹Voldemort恮ē“¹ä»‹
Voldemort恮ē“¹ä»‹
Ā 
JavaDay Lviv: Serverless Archtiectures
JavaDay Lviv: Serverless ArchtiecturesJavaDay Lviv: Serverless Archtiectures
JavaDay Lviv: Serverless Archtiectures
Ā 
Icinga 2 API @ Icinga Camp Portland at Puppetlabs
Icinga 2 API @ Icinga Camp Portland at PuppetlabsIcinga 2 API @ Icinga Camp Portland at Puppetlabs
Icinga 2 API @ Icinga Camp Portland at Puppetlabs
Ā 
Icinga Web 2 is more
Icinga Web 2 is moreIcinga Web 2 is more
Icinga Web 2 is more
Ā 
Docker and serverless Randstad Jan 2019: OpenFaaS Serverless: when functions ...
Docker and serverless Randstad Jan 2019: OpenFaaS Serverless: when functions ...Docker and serverless Randstad Jan 2019: OpenFaaS Serverless: when functions ...
Docker and serverless Randstad Jan 2019: OpenFaaS Serverless: when functions ...
Ā 
Mobile Library Development - stuck between a pod and a jar file - Zan Markan ...
Mobile Library Development - stuck between a pod and a jar file - Zan Markan ...Mobile Library Development - stuck between a pod and a jar file - Zan Markan ...
Mobile Library Development - stuck between a pod and a jar file - Zan Markan ...
Ā 
State of Development - Icinga Meetup Linz August 2019
State of Development - Icinga Meetup Linz August 2019State of Development - Icinga Meetup Linz August 2019
State of Development - Icinga Meetup Linz August 2019
Ā 
TechXLR8 - XLR8 your cloud with Docker and Serverless FaaS
TechXLR8 - XLR8 your cloud with Docker and Serverless FaaSTechXLR8 - XLR8 your cloud with Docker and Serverless FaaS
TechXLR8 - XLR8 your cloud with Docker and Serverless FaaS
Ā 
Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...
Ā 
Building Serverless APIs (January 2017)
Building Serverless APIs (January 2017)Building Serverless APIs (January 2017)
Building Serverless APIs (January 2017)
Ā 
DevOps Days Tel Aviv - Serverless Architecture
DevOps Days Tel Aviv - Serverless ArchitectureDevOps Days Tel Aviv - Serverless Architecture
DevOps Days Tel Aviv - Serverless Architecture
Ā 
Origins of Serverless
Origins of ServerlessOrigins of Serverless
Origins of Serverless
Ā 
Apache Zeppelin & Cluster
Apache Zeppelin & ClusterApache Zeppelin & Cluster
Apache Zeppelin & Cluster
Ā 
Sun Web Server Brief
Sun Web Server BriefSun Web Server Brief
Sun Web Server Brief
Ā 
Gabriele Provinciali/Gabriele Folchi/Luca Postacchini - Sviluppo con piattafo...
Gabriele Provinciali/Gabriele Folchi/Luca Postacchini - Sviluppo con piattafo...Gabriele Provinciali/Gabriele Folchi/Luca Postacchini - Sviluppo con piattafo...
Gabriele Provinciali/Gabriele Folchi/Luca Postacchini - Sviluppo con piattafo...
Ā 
What's new with Apache Camel 3? | DevNation Tech Talk
What's new with Apache Camel 3? | DevNation Tech TalkWhat's new with Apache Camel 3? | DevNation Tech Talk
What's new with Apache Camel 3? | DevNation Tech Talk
Ā 
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
Ā 
ApacheCon NA - Apache Camel K: a cloud-native integration platform
ApacheCon NA - Apache Camel K: a cloud-native integration platformApacheCon NA - Apache Camel K: a cloud-native integration platform
ApacheCon NA - Apache Camel K: a cloud-native integration platform
Ā 

Viewers also liked

Spark-on-YARN: Empower Spark Applications on Hadoop Cluster
Spark-on-YARN: Empower Spark Applications on Hadoop ClusterSpark-on-YARN: Empower Spark Applications on Hadoop Cluster
Spark-on-YARN: Empower Spark Applications on Hadoop Cluster
DataWorks Summit
Ā 
Dynamically Allocate Cluster Resources to your Spark Application
Dynamically Allocate Cluster Resources to your Spark ApplicationDynamically Allocate Cluster Resources to your Spark Application
Dynamically Allocate Cluster Resources to your Spark Application
DataWorks Summit
Ā 
Proxy Server
Proxy ServerProxy Server
Proxy Server
guest095022
Ā 

Viewers also liked (15)

Productionizing Spark and the Spark Job Server
Productionizing Spark and the Spark Job ServerProductionizing Spark and the Spark Job Server
Productionizing Spark and the Spark Job Server
Ā 
Spark on yarn
Spark on yarnSpark on yarn
Spark on yarn
Ā 
Spark Compute as a Service at Paypal with Prabhu Kasinathan
Spark Compute as a Service at Paypal with Prabhu KasinathanSpark Compute as a Service at Paypal with Prabhu Kasinathan
Spark Compute as a Service at Paypal with Prabhu Kasinathan
Ā 
Get most out of Spark on YARN
Get most out of Spark on YARNGet most out of Spark on YARN
Get most out of Spark on YARN
Ā 
Hadoop and Spark Analytics over Better Storage
Hadoop and Spark Analytics over Better StorageHadoop and Spark Analytics over Better Storage
Hadoop and Spark Analytics over Better Storage
Ā 
Producing Spark on YARN for ETL
Producing Spark on YARN for ETLProducing Spark on YARN for ETL
Producing Spark on YARN for ETL
Ā 
SocSciBot(01 Mar2010) - Korean Manual
SocSciBot(01 Mar2010) - Korean ManualSocSciBot(01 Mar2010) - Korean Manual
SocSciBot(01 Mar2010) - Korean Manual
Ā 
Spark-on-YARN: Empower Spark Applications on Hadoop Cluster
Spark-on-YARN: Empower Spark Applications on Hadoop ClusterSpark-on-YARN: Empower Spark Applications on Hadoop Cluster
Spark-on-YARN: Empower Spark Applications on Hadoop Cluster
Ā 
Dynamically Allocate Cluster Resources to your Spark Application
Dynamically Allocate Cluster Resources to your Spark ApplicationDynamically Allocate Cluster Resources to your Spark Application
Dynamically Allocate Cluster Resources to your Spark Application
Ā 
ETL with SPARK - First Spark London meetup
ETL with SPARK - First Spark London meetupETL with SPARK - First Spark London meetup
ETL with SPARK - First Spark London meetup
Ā 
Why your Spark job is failing
Why your Spark job is failingWhy your Spark job is failing
Why your Spark job is failing
Ā 
Apache Spark Model Deployment
Apache Spark Model Deployment Apache Spark Model Deployment
Apache Spark Model Deployment
Ā 
Proxy Servers
Proxy ServersProxy Servers
Proxy Servers
Ā 
Proxy Server
Proxy ServerProxy Server
Proxy Server
Ā 
Spark 2.x Troubleshooting Guide
Spark 2.x Troubleshooting GuideSpark 2.x Troubleshooting Guide
Spark 2.x Troubleshooting Guide
Ā 

Similar to Spark Summit Europe: Building a REST Job Server for interactive Spark as a service

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 to Spark Summit Europe: Building a REST Job Server for interactive Spark as a service (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
Ā 
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
Ā 
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
Ā 
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
Ā 
Docker Meetup Tokyo #23 - Zenko Open Source Multi-Cloud Data Controller - Lau...
Docker Meetup Tokyo #23 - Zenko Open Source Multi-Cloud Data Controller - Lau...Docker Meetup Tokyo #23 - Zenko Open Source Multi-Cloud Data Controller - Lau...
Docker Meetup Tokyo #23 - Zenko Open Source Multi-Cloud Data Controller - Lau...
Ā 
Docker Started
Docker StartedDocker Started
Docker Started
Ā 
Rest API with Swagger and NodeJS
Rest API with Swagger and NodeJSRest API with Swagger and NodeJS
Rest API with Swagger and NodeJS
Ā 

More from gethue

More from gethue (17)

SF Solr Meetup - Interactively Search and Visualize Your Big Data
SF Solr Meetup - Interactively Search and Visualize Your Big DataSF Solr Meetup - Interactively Search and Visualize Your Big Data
SF Solr Meetup - Interactively Search and Visualize Your Big Data
Ā 
Big Data Scala by the Bay: Interactive Spark in your Browser
Big Data Scala by the Bay: Interactive Spark in your BrowserBig Data Scala by the Bay: Interactive Spark in your Browser
Big Data Scala by the Bay: Interactive Spark in your Browser
Ā 
20150627 bigdatala
20150627 bigdatala20150627 bigdatala
20150627 bigdatala
Ā 
Hadoop Summit - Interactive Big Data Analysis with Solr, Spark and Hue
Hadoop Summit - Interactive Big Data Analysis with Solr, Spark and HueHadoop Summit - Interactive Big Data Analysis with Solr, Spark and Hue
Hadoop Summit - Interactive Big Data Analysis with Solr, Spark and Hue
Ā 
Harness the power of Spark and Solr in Hue: Big Data Amsterdam v.2.0
Harness the power of Spark and Solr in Hue: Big Data Amsterdam v.2.0Harness the power of Spark and Solr in Hue: Big Data Amsterdam v.2.0
Harness the power of Spark and Solr in Hue: Big Data Amsterdam v.2.0
Ā 
Hue: Big Data Web applications for Interactive Hadoop at Big Data Spain 2014
Hue: Big Data Web applications for Interactive Hadoop at Big Data Spain 2014Hue: Big Data Web applications for Interactive Hadoop at Big Data Spain 2014
Hue: Big Data Web applications for Interactive Hadoop at Big Data Spain 2014
Ā 
Interactively Search and Visualize Your Big Data
Interactively Search and Visualize Your Big DataInteractively Search and Visualize Your Big Data
Interactively Search and Visualize Your Big Data
Ā 
Sqoop2 refactoring for generic data transfer - NYC Sqoop Meetup
Sqoop2 refactoring for generic data transfer - NYC Sqoop MeetupSqoop2 refactoring for generic data transfer - NYC Sqoop Meetup
Sqoop2 refactoring for generic data transfer - NYC Sqoop Meetup
Ā 
LDAP, SAML and Hue
LDAP, SAML and HueLDAP, SAML and Hue
LDAP, SAML and Hue
Ā 
Hadoop Israel - HBase Browser in Hue
Hadoop Israel - HBase Browser in HueHadoop Israel - HBase Browser in Hue
Hadoop Israel - HBase Browser in Hue
Ā 
Integrate Hue with your Hadoop cluster - Yahoo! Hadoop Meetup
Integrate Hue with your Hadoop cluster - Yahoo! Hadoop MeetupIntegrate Hue with your Hadoop cluster - Yahoo! Hadoop Meetup
Integrate Hue with your Hadoop cluster - Yahoo! Hadoop Meetup
Ā 
Hue: The Hadoop UI - Hadoop Singapore
Hue: The Hadoop UI - Hadoop SingaporeHue: The Hadoop UI - Hadoop Singapore
Hue: The Hadoop UI - Hadoop Singapore
Ā 
SF Dev Meetup - Hue SDK
SF Dev Meetup - Hue SDKSF Dev Meetup - Hue SDK
SF Dev Meetup - Hue SDK
Ā 
Hue: The Hadoop UI - Where we stand, Hue Meetup SF
Hue: The Hadoop UI - Where we stand, Hue Meetup SF Hue: The Hadoop UI - Where we stand, Hue Meetup SF
Hue: The Hadoop UI - Where we stand, Hue Meetup SF
Ā 
HBase + Hue - LA HBase User Group
HBase + Hue - LA HBase User GroupHBase + Hue - LA HBase User Group
HBase + Hue - LA HBase User Group
Ā 
Hue: The Hadoop UI - HUG France
Hue: The Hadoop UI - HUG FranceHue: The Hadoop UI - HUG France
Hue: The Hadoop UI - HUG France
Ā 
Hue: The Hadoop UI - Stockholm HUG
Hue: The Hadoop UI - Stockholm HUGHue: The Hadoop UI - Stockholm HUG
Hue: The Hadoop UI - Stockholm HUG
Ā 

Recently uploaded

Call Girls In Bellandur ā˜Ž 7737669865 šŸ„µ Book Your One night Stand
Call Girls In Bellandur ā˜Ž 7737669865 šŸ„µ Book Your One night StandCall Girls In Bellandur ā˜Ž 7737669865 šŸ„µ Book Your One night Stand
Call Girls In Bellandur ā˜Ž 7737669865 šŸ„µ Book Your One night Stand
amitlee9823
Ā 
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
amitlee9823
Ā 
Probability Grade 10 Third Quarter Lessons
Probability Grade 10 Third Quarter LessonsProbability Grade 10 Third Quarter Lessons
Probability Grade 10 Third Quarter Lessons
JoseMangaJr1
Ā 
CHEAP Call Girls in Saket (-DELHI )šŸ” 9953056974šŸ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )šŸ” 9953056974šŸ”(=)/CALL GIRLS SERVICECHEAP Call Girls in Saket (-DELHI )šŸ” 9953056974šŸ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )šŸ” 9953056974šŸ”(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
Ā 
Call Girls In Nandini Layout ā˜Ž 7737669865 šŸ„µ Book Your One night Stand
Call Girls In Nandini Layout ā˜Ž 7737669865 šŸ„µ Book Your One night StandCall Girls In Nandini Layout ā˜Ž 7737669865 šŸ„µ Book Your One night Stand
Call Girls In Nandini Layout ā˜Ž 7737669865 šŸ„µ Book Your One night Stand
amitlee9823
Ā 
Junnasandra Call Girls: šŸ“ 7737669865 šŸ“ High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: šŸ“ 7737669865 šŸ“ High Profile Model Escorts | Bangalore...Junnasandra Call Girls: šŸ“ 7737669865 šŸ“ High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: šŸ“ 7737669865 šŸ“ High Profile Model Escorts | Bangalore...
amitlee9823
Ā 
hybrid Seed Production In Chilli & Capsicum.pptx
hybrid Seed Production In Chilli & Capsicum.pptxhybrid Seed Production In Chilli & Capsicum.pptx
hybrid Seed Production In Chilli & Capsicum.pptx
9to5mart
Ā 
CHEAP Call Girls in Rabindra Nagar (-DELHI )šŸ” 9953056974šŸ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar  (-DELHI )šŸ” 9953056974šŸ”(=)/CALL GIRLS SERVICECHEAP Call Girls in Rabindra Nagar  (-DELHI )šŸ” 9953056974šŸ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar (-DELHI )šŸ” 9953056974šŸ”(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
Ā 
Call Girls Indiranagar Just Call šŸ‘— 9155563397 šŸ‘— Top Class Call Girl Service B...
Call Girls Indiranagar Just Call šŸ‘— 9155563397 šŸ‘— Top Class Call Girl Service B...Call Girls Indiranagar Just Call šŸ‘— 9155563397 šŸ‘— Top Class Call Girl Service B...
Call Girls Indiranagar Just Call šŸ‘— 9155563397 šŸ‘— Top Class Call Girl Service B...
only4webmaster01
Ā 
āž„šŸ” 7737669865 šŸ”ā–» Thrissur Call-girls in Women Seeking Men šŸ”ThrissuršŸ” Escor...
āž„šŸ” 7737669865 šŸ”ā–» Thrissur Call-girls in Women Seeking Men  šŸ”ThrissuršŸ”   Escor...āž„šŸ” 7737669865 šŸ”ā–» Thrissur Call-girls in Women Seeking Men  šŸ”ThrissuršŸ”   Escor...
āž„šŸ” 7737669865 šŸ”ā–» Thrissur Call-girls in Women Seeking Men šŸ”ThrissuršŸ” Escor...
amitlee9823
Ā 
Call Girls Bommasandra Just Call šŸ‘— 7737669865 šŸ‘— Top Class Call Girl Service B...
Call Girls Bommasandra Just Call šŸ‘— 7737669865 šŸ‘— Top Class Call Girl Service B...Call Girls Bommasandra Just Call šŸ‘— 7737669865 šŸ‘— Top Class Call Girl Service B...
Call Girls Bommasandra Just Call šŸ‘— 7737669865 šŸ‘— Top Class Call Girl Service B...
amitlee9823
Ā 
Call Girls Indiranagar Just Call šŸ‘— 7737669865 šŸ‘— Top Class Call Girl Service B...
Call Girls Indiranagar Just Call šŸ‘— 7737669865 šŸ‘— Top Class Call Girl Service B...Call Girls Indiranagar Just Call šŸ‘— 7737669865 šŸ‘— Top Class Call Girl Service B...
Call Girls Indiranagar Just Call šŸ‘— 7737669865 šŸ‘— Top Class Call Girl Service B...
amitlee9823
Ā 
āž„šŸ” 7737669865 šŸ”ā–» Bangalore Call-girls in Women Seeking Men šŸ”BangalorešŸ” Esc...
āž„šŸ” 7737669865 šŸ”ā–» Bangalore Call-girls in Women Seeking Men  šŸ”BangalorešŸ”   Esc...āž„šŸ” 7737669865 šŸ”ā–» Bangalore Call-girls in Women Seeking Men  šŸ”BangalorešŸ”   Esc...
āž„šŸ” 7737669865 šŸ”ā–» Bangalore Call-girls in Women Seeking Men šŸ”BangalorešŸ” Esc...
amitlee9823
Ā 
Mg Road Call Girls Service: šŸ“ 7737669865 šŸ“ High Profile Model Escorts | Banga...
Mg Road Call Girls Service: šŸ“ 7737669865 šŸ“ High Profile Model Escorts | Banga...Mg Road Call Girls Service: šŸ“ 7737669865 šŸ“ High Profile Model Escorts | Banga...
Mg Road Call Girls Service: šŸ“ 7737669865 šŸ“ High Profile Model Escorts | Banga...
amitlee9823
Ā 
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
Ā 
āž„šŸ” 7737669865 šŸ”ā–» Mathura Call-girls in Women Seeking Men šŸ”MathurašŸ” Escorts...
āž„šŸ” 7737669865 šŸ”ā–» Mathura Call-girls in Women Seeking Men  šŸ”MathurašŸ”   Escorts...āž„šŸ” 7737669865 šŸ”ā–» Mathura Call-girls in Women Seeking Men  šŸ”MathurašŸ”   Escorts...
āž„šŸ” 7737669865 šŸ”ā–» Mathura Call-girls in Women Seeking Men šŸ”MathurašŸ” Escorts...
amitlee9823
Ā 

Recently uploaded (20)

Call Girls In Bellandur ā˜Ž 7737669865 šŸ„µ Book Your One night Stand
Call Girls In Bellandur ā˜Ž 7737669865 šŸ„µ Book Your One night StandCall Girls In Bellandur ā˜Ž 7737669865 šŸ„µ Book Your One night Stand
Call Girls In Bellandur ā˜Ž 7737669865 šŸ„µ Book Your One night Stand
Ā 
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Ā 
Probability Grade 10 Third Quarter Lessons
Probability Grade 10 Third Quarter LessonsProbability Grade 10 Third Quarter Lessons
Probability Grade 10 Third Quarter Lessons
Ā 
CHEAP Call Girls in Saket (-DELHI )šŸ” 9953056974šŸ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )šŸ” 9953056974šŸ”(=)/CALL GIRLS SERVICECHEAP Call Girls in Saket (-DELHI )šŸ” 9953056974šŸ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )šŸ” 9953056974šŸ”(=)/CALL GIRLS SERVICE
Ā 
Call Girls In Nandini Layout ā˜Ž 7737669865 šŸ„µ Book Your One night Stand
Call Girls In Nandini Layout ā˜Ž 7737669865 šŸ„µ Book Your One night StandCall Girls In Nandini Layout ā˜Ž 7737669865 šŸ„µ Book Your One night Stand
Call Girls In Nandini Layout ā˜Ž 7737669865 šŸ„µ Book Your One night Stand
Ā 
Anomaly detection and data imputation within time series
Anomaly detection and data imputation within time seriesAnomaly detection and data imputation within time series
Anomaly detection and data imputation within time series
Ā 
Junnasandra Call Girls: šŸ“ 7737669865 šŸ“ High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: šŸ“ 7737669865 šŸ“ High Profile Model Escorts | Bangalore...Junnasandra Call Girls: šŸ“ 7737669865 šŸ“ High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: šŸ“ 7737669865 šŸ“ High Profile Model Escorts | Bangalore...
Ā 
hybrid Seed Production In Chilli & Capsicum.pptx
hybrid Seed Production In Chilli & Capsicum.pptxhybrid Seed Production In Chilli & Capsicum.pptx
hybrid Seed Production In Chilli & Capsicum.pptx
Ā 
CHEAP Call Girls in Rabindra Nagar (-DELHI )šŸ” 9953056974šŸ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar  (-DELHI )šŸ” 9953056974šŸ”(=)/CALL GIRLS SERVICECHEAP Call Girls in Rabindra Nagar  (-DELHI )šŸ” 9953056974šŸ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar (-DELHI )šŸ” 9953056974šŸ”(=)/CALL GIRLS SERVICE
Ā 
Call Girls Indiranagar Just Call šŸ‘— 9155563397 šŸ‘— Top Class Call Girl Service B...
Call Girls Indiranagar Just Call šŸ‘— 9155563397 šŸ‘— Top Class Call Girl Service B...Call Girls Indiranagar Just Call šŸ‘— 9155563397 šŸ‘— Top Class Call Girl Service B...
Call Girls Indiranagar Just Call šŸ‘— 9155563397 šŸ‘— Top Class Call Girl Service B...
Ā 
āž„šŸ” 7737669865 šŸ”ā–» Thrissur Call-girls in Women Seeking Men šŸ”ThrissuršŸ” Escor...
āž„šŸ” 7737669865 šŸ”ā–» Thrissur Call-girls in Women Seeking Men  šŸ”ThrissuršŸ”   Escor...āž„šŸ” 7737669865 šŸ”ā–» Thrissur Call-girls in Women Seeking Men  šŸ”ThrissuršŸ”   Escor...
āž„šŸ” 7737669865 šŸ”ā–» Thrissur Call-girls in Women Seeking Men šŸ”ThrissuršŸ” Escor...
Ā 
Call Girls Bommasandra Just Call šŸ‘— 7737669865 šŸ‘— Top Class Call Girl Service B...
Call Girls Bommasandra Just Call šŸ‘— 7737669865 šŸ‘— Top Class Call Girl Service B...Call Girls Bommasandra Just Call šŸ‘— 7737669865 šŸ‘— Top Class Call Girl Service B...
Call Girls Bommasandra Just Call šŸ‘— 7737669865 šŸ‘— Top Class Call Girl Service B...
Ā 
Call Girls Indiranagar Just Call šŸ‘— 7737669865 šŸ‘— Top Class Call Girl Service B...
Call Girls Indiranagar Just Call šŸ‘— 7737669865 šŸ‘— Top Class Call Girl Service B...Call Girls Indiranagar Just Call šŸ‘— 7737669865 šŸ‘— Top Class Call Girl Service B...
Call Girls Indiranagar Just Call šŸ‘— 7737669865 šŸ‘— Top Class Call Girl Service B...
Ā 
āž„šŸ” 7737669865 šŸ”ā–» Bangalore Call-girls in Women Seeking Men šŸ”BangalorešŸ” Esc...
āž„šŸ” 7737669865 šŸ”ā–» Bangalore Call-girls in Women Seeking Men  šŸ”BangalorešŸ”   Esc...āž„šŸ” 7737669865 šŸ”ā–» Bangalore Call-girls in Women Seeking Men  šŸ”BangalorešŸ”   Esc...
āž„šŸ” 7737669865 šŸ”ā–» Bangalore Call-girls in Women Seeking Men šŸ”BangalorešŸ” Esc...
Ā 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Ā 
Mg Road Call Girls Service: šŸ“ 7737669865 šŸ“ High Profile Model Escorts | Banga...
Mg Road Call Girls Service: šŸ“ 7737669865 šŸ“ High Profile Model Escorts | Banga...Mg Road Call Girls Service: šŸ“ 7737669865 šŸ“ High Profile Model Escorts | Banga...
Mg Road Call Girls Service: šŸ“ 7737669865 šŸ“ High Profile Model Escorts | Banga...
Ā 
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Ā 
āž„šŸ” 7737669865 šŸ”ā–» Mathura Call-girls in Women Seeking Men šŸ”MathurašŸ” Escorts...
āž„šŸ” 7737669865 šŸ”ā–» Mathura Call-girls in Women Seeking Men  šŸ”MathurašŸ”   Escorts...āž„šŸ” 7737669865 šŸ”ā–» Mathura Call-girls in Women Seeking Men  šŸ”MathurašŸ”   Escorts...
āž„šŸ” 7737669865 šŸ”ā–» Mathura Call-girls in Women Seeking Men šŸ”MathurašŸ” Escorts...
Ā 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Research
Ā 
Detecting Credit Card Fraud: A Machine Learning Approach
Detecting Credit Card Fraud: A Machine Learning ApproachDetecting Credit Card Fraud: A Machine Learning Approach
Detecting Credit Card Fraud: A Machine Learning Approach
Ā 

Spark Summit Europe: Building a REST Job Server for interactive Spark as a service