SlideShare a Scribd company logo
Databricks Spark Meetup 
Los Angeles Apache Spark Users Group 
2014-12-11 
meetup.com/Los-Angeles-Apache-Spark-Users-Group/events/218748643/ 
Paco Nathan 
@pacoid
Spark, 
the elevator pitch
What is Spark? 
Developed in 2009 at UC Berkeley AMPLab, then 
open sourced in 2010, Spark has since become 
one of the largest OSS communities in big data, 
with over 200 contributors in 50+ organizations 
spark.apache.org 
“Organizations that are looking at big data challenges – 
including collection, ETL, storage, exploration and analytics – 
should consider Spark for its in-memory performance and 
the breadth of its model. It supports advanced analytics 
solutions on Hadoop clusters, including the iterative model 
required for machine learning and graph analysis.” 
Gartner, Advanced Analytics and Data Science (2014) 
3
What is Spark? 
4
What is Spark? 
Spark Core is the general execution engine for the 
Spark platform that other functionality is built atop: 
! 
• in-memory computing capabilities deliver speed 
• general execution model supports wide variety 
of use cases 
• ease of development – native APIs in Java, Scala, 
Python (+ SQL, Clojure, R) 
5
What is Spark? 
WordCount in 3 lines of Spark 
WordCount in 50+ lines of Java MR 
6
TL;DR: Smashing The Previous Petabyte Sort Record 
databricks.com/blog/2014/11/05/spark-officially-sets- 
a-new-record-in-large-scale-sorting.html 
7
Spark is one of the most active Apache projects 
ohloh.net/orgs/apache 
8 
TL;DR: Sustained Exponential Growth
TL;DR: Spark Just Passed Hadoop in Popularity on Web 
datanami.com/2014/11/21/spark-just-passed-hadoop- 
popularity-web-heres/ 
9 
In October Apache Spark (blue line) 
passed Apache Hadoop (red line) in 
popularity according to Google Trends
TL;DR: Spark Expertise Tops Median Salaries within Big Data 
oreilly.com/data/free/2014-data-science-salary- 
survey.csp 
10
Why Streaming?
Why Streaming? 
Because Machine Data! 
I <3 Logs 
Jay Kreps 
O’Reilly (2014) 
shop.oreilly.com/product/ 
0636920034339.do 
12
Why Streaming? 
Because Google! 
MillWheel: Fault-Tolerant Stream 
Processing at Internet Scale 
Tyler Akidau, Alex Balikov, 
Kaya Bekiroglu, Slava Chernyak, 
Josh Haberman, Reuven Lax, 
Sam McVeety, Daniel Mills, 
Paul Nordstrom, Sam Whittle 
Very Large Data Bases (2013) 
research.google.com/pubs/ 
pub41378.html 
13
Why Streaming? 
Because IoT! 
kickstarter.com/projects/1614456084/b4rm4n-be- 
a-cocktail-hero 
14
Why Streaming? 
Because IoT! (exabytes/day per sensor) 
bits.blogs.nytimes.com/2013/06/19/g-e-makes-the-machine- 
and-then-uses-sensors-to-listen-to-it/ 
15
Spark Streaming
Spark Streaming: Requirements 
Let’s consider the top-level requirements for 
a streaming framework: 
• clusters scalable to 100’s of nodes 
• low-latency, in the range of seconds 
(meets 90% of use case needs) 
• efficient recovery from failures 
(which is a hard problem in CS) 
• integrates with batch: many co’s run the 
same business logic both online+offline 
17
Spark Streaming: Requirements 
Therefore, run a streaming computation as: 
a series of very small, deterministic batch jobs 
! 
• Chop up the live stream into 
batches of X seconds 
• Spark treats each batch of 
data as RDDs and processes 
them using RDD operations 
• Finally, the processed results 
of the RDD operations are 
returned in batches 
18
Spark Streaming: Requirements 
Therefore, run a streaming computation as: 
a series of very small, deterministic batch jobs 
! 
• Batch sizes as low as ½ sec, 
latency of about 1 sec 
• Potential for combining 
batch processing and 
streaming processing in 
the same system 
19
Spark Streaming: Integration 
Data can be ingested from many sources: 
Kafka, Flume, Twitter, ZeroMQ, TCP sockets, etc. 
Results can be pushed out to filesystems, 
databases, live dashboards, etc. 
Spark’s built-in machine learning algorithms and 
graph processing algorithms can be applied to 
data streams 
20
Spark Streaming: Timeline 
2012 
project started 
2013 
alpha release (Spark 0.7) 
2014 
graduated (Spark 0.9) 
Discretized Streams: A Fault-Tolerant Model 
for Scalable Stream Processing 
Matei Zaharia, Tathagata Das, Haoyuan Li, 
Timothy Hunter, Scott Shenker, Ion Stoica 
Berkeley EECS (2012-12-14) 
www.eecs.berkeley.edu/Pubs/TechRpts/2012/EECS-2012-259.pdf 
project lead: 
Tathagata Das @tathadas 
21
Spark Streaming: Requirements 
Typical kinds of applications: 
• datacenter operations 
• web app funnel metrics 
• ad optimization 
• anti-fraud 
• telecom 
• video analytics 
• various telematics 
and much much more! 
22
Spark Streaming: Some Excellent Resources 
Programming Guide 
spark.apache.org/docs/latest/streaming-programming- 
guide.html 
TD @ Spark Summit 2014 
youtu.be/o-NXwFrNAWQ?list=PLTPXxbhUt- 
YWGNTaDj6HSjnHMxiTD1HCR 
“Deep Dive into Spark Streaming” 
slideshare.net/spark-project/deep-divewithsparkstreaming-tathagatadassparkmeetup20130617 
Spark Reference Applications 
databricks.gitbooks.io/databricks-spark-reference- 
applications/ 
23
Quiz: name the bits and pieces… 
import org.apache.spark.streaming._! 
import org.apache.spark.streaming.StreamingContext._! 
! 
// create a StreamingContext with a SparkConf configuration! 
val ssc = new StreamingContext(sparkConf, Seconds(10))! 
! 
// create a DStream that will connect to serverIP:serverPort! 
val lines = ssc.socketTextStream(serverIP, serverPort)! 
! 
// split each line into words! 
val words = lines.flatMap(_.split(" "))! 
! 
// count each word in each batch! 
val pairs = words.map(word => (word, 1))! 
val wordCounts = pairs.reduceByKey(_ + _)! 
! 
// print a few of the counts to the console! 
wordCounts.print()! 
! 
ssc.start()! 
ssc.awaitTermination() 
24
Because 
Use Cases
Because Use Cases: +40 known production use cases
Because Use Cases: Stratio 
Stratio Streaming: a new approach to 
Spark Streaming 
David Morales, Oscar Mendez 
2014-06-30 
spark-summit.org/2014/talk/stratio-streaming- 
a-new-approach-to-spark-streaming 
• Stratio Streaming is the union of a real-time 
messaging bus with a complex event processing 
engine using Spark Streaming 
• allows the creation of streams and queries on the fly 
• paired with Siddhi CEP engine and Apache Kafka 
• added global features to the engine such as auditing 
27 
and statistics
Because Use Cases: Pearson 
Pearson uses Spark Streaming for next 
generation adaptive learning platform 
Dibyendu Bhattacharya 
2014-12-08 
databricks.com/blog/2014/12/08/pearson-uses- 
spark-streaming-for-next-generation-adaptive- 
learning-platform.html 
• Kafka + Spark + Cassandra + Blur, on AWS on a 
YARN cluster 
• single platform/common API was a key reason to 
replace Storm with Spark Streaming 
• custom Kafka Consumer for Spark Streaming, using 
Low Level Kafka Consumer APIs 
• handles: Kafka node failures, receiver failures, leader 
changes, committed offset in ZK, tunable data rate 
throughput 
28
Because Use Cases: Ooyala 
Productionizing a 24/7 Spark Streaming 
service on YARN 
Issac Buenrostro, Arup Malakar 
2014-06-30 
spark-summit.org/2014/talk/ 
productionizing-a-247-spark-streaming-service- 
on-yarn 
• state-of-the-art ingestion pipeline, processing over 
two billion video events a day 
• how do you ensure 24/7 availability and fault 
tolerance? 
• what are the best practices for Spark Streaming and 
its integration with Kafka and YARN? 
• how do you monitor and instrument the various 
29 
stages of the pipeline?
Because Use Cases: Guavus 
Guavus Embeds Apache Spark 
into its Operational Intelligence Platform 
Deployed at the World’s Largest Telcos 
Eric Carr 
2014-09-25 
databricks.com/blog/2014/09/25/guavus-embeds-apache-spark-into- 
its-operational-intelligence-platform-deployed-at-the-worlds- 
largest-telcos.html 
• 4 of 5 top mobile network operators, 3 of 5 top 
Internet backbone providers, 80% MSOs in NorAm 
• analyzing 50% of US mobile data traffic, +2.5 PB/day 
• latency is critical for resolving operational issues 
before they cascade: 2.5 MM transactions per second 
• “analyze first” not “store first ask questions later” 
30
Because Use Cases: Sharethrough 
Sharethrough Uses Spark Streaming to 
Optimize Bidding in Real Time 
Russell Cardullo, Michael Ruggier 
2014-03-25 
databricks.com/blog/2014/03/25/ 
sharethrough-and-spark-streaming.html 
• the profile of a 24 x 7 streaming app is different than 
an hourly batch job… 
• take time to validate output against the input… 
• confirm that supporting objects are being serialized… 
• the output of your Spark Streaming job is only as 
reliable as the queue that feeds Spark… 
• monoids… 
31
Demos
Demos, as time permits: 
Brand new Python support for Streaming in 1.2 
github.com/apache/spark/tree/master/examples/src/main/ 
python/streaming 
Twitter Streaming Language Classifier 
databricks.gitbooks.io/databricks-spark-reference-applications/ 
content/twitter_classifier/README.html 
33
Demo: PySpark Streaming Network Word Count 
import sys! 
from pyspark import SparkContext! 
from pyspark.streaming import StreamingContext! 
! 
sc = SparkContext(appName="PyStreamNWC", master="local[*]")! 
ssc = StreamingContext(sc, Seconds(5))! 
! 
lines = ssc.socketTextStream(sys.argv[1], int(sys.argv[2]))! 
! 
counts = lines.flatMap(lambda line: line.split(" ")) ! 
.map(lambda word: (word, 1)) ! 
.reduceByKey(lambda a, b: a+b)! 
! 
counts.pprint()! 
! 
ssc.start()! 
ssc.awaitTermination() 
34
Demo: PySpark Streaming Network Word Count - Stateful 
import sys! 
from pyspark import SparkContext! 
from pyspark.streaming import StreamingContext! 
! 
def updateFunc (new_values, last_sum):! 
return sum(new_values) + (last_sum or 0)! 
! 
sc = SparkContext(appName="PyStreamNWC", master="local[*]")! 
ssc = StreamingContext(sc, Seconds(5))! 
ssc.checkpoint("checkpoint")! 
! 
lines = ssc.socketTextStream(sys.argv[1], int(sys.argv[2]))! 
! 
counts = lines.flatMap(lambda line: line.split(" ")) ! 
.map(lambda word: (word, 1)) ! 
.updateStateByKey(updateFunc) ! 
.transform(lambda x: x.sortByKey())! 
! 
counts.pprint()! 
! 
ssc.start()! 
ssc.awaitTermination() 
35
Complementary 
Frameworks
Spark Integrations: 
Discover 
Insights 
Clean Up 
Your Data 
Run 
Sophisticated 
Analytics 
Integrate With 
Many Other 
Systems 
Use Lots of Different 
Data Sources 
cloud-based notebooks… ETL… the Hadoop ecosystem… 
widespread use of PyData… advanced analytics in streaming… 
rich custom search… web apps for data APIs… 
low-latency + multi-tenancy… 
37
Spark Integrations: Advanced analytics for streaming use cases 
Kafka + Spark + Cassandra 
datastax.com/documentation/datastax_enterprise/4.5/ 
datastax_enterprise/spark/sparkIntro.html 
http://helenaedelson.com/?p=991 
github.com/datastax/spark-cassandra-connector 
github.com/dibbhatt/kafka-spark-consumer 
unified compute 
data streams columnar key-value 
38
Spark Integrations: Rich search, immediate insights 
Spark + ElasticSearch 
databricks.com/blog/2014/06/27/application-spotlight-elasticsearch. 
html 
elasticsearch.org/guide/en/elasticsearch/hadoop/current/ 
spark.html 
spark-summit.org/2014/talk/streamlining-search-indexing- 
using-elastic-search-and-spark 
unified compute 
document search 
39
Spark Integrations: General Guidelines 
• use Tachyon as a best practice for sharing 
between two streaming apps 
• or write to Cassandra or HBase / then read back 
• design patterns for integration: 
spark.apache.org/docs/latest/streaming-programming- 
guide.html#output-operations- 
on-dstreams 
40
A Look Ahead…
A Look Ahead… 
1. Greater Stability and Robustness 
• improved high availability via Write-Ahead Logs 
+ Reliable Receiver 
• enabled as an optional feature for Spark 1.2 
• Spark Standalone can already restart driver 
(since 1.1) 
• HA Spark Streaming defined: 
youtu.be/jcJq3ZalXD8 
• excellent discussion of fault-tolerance (2012): 
cs.duke.edu/~kmoses/cps516/dstream.html 
42
A Look Ahead… 
2. Support for more environments, 
i.e., beyond Hadoop 
• three use cases currently depend on HDFS 
• those are being abstracted out 
• could then use Cassandra, etc. 
43
A Look Ahead… 
3. Improved support for Python 
• KafkaUtils, FlumeUtils, etc., in Python API in 1.3 
44
A Look Ahead… 
4. Better flow control 
• a somewhat longer-term goal, plus it is 
a hard problem in general 
• poses interesting challenges beyond what 
other streaming systems have faced 
45
A Big Picture
A Big Picture… 
19-20c. statistics emphasized defensibility 
in lieu of predictability, based on analytic 
variance and goodness-of-fit tests 
! 
That approach inherently led toward a 
manner of computational thinking based 
on batch windows 
! 
They missed a subtle point… 
47
A Big Picture… The view in the lens has changed 
21c. shift towards modeling based on probabilistic 
approximations: trade bounded errors for greatly 
reduced resource costs 
highlyscalable.wordpress.com/2012/05/01/ 
probabilistic-structures-web-analytics-data- 
mining/ 
48
A Big Picture… The view in the lens has changed 
21c. shift towards modeling based on probabil 
approximations: trade bounded errors for greatly 
reduced resource costs 
Twitter catch-phrase: 
“Hash, don’t sample” 
highlyscalable.wordpress.com/2012/05/01/ 
probabilistic-structures-web-analytics-data- 
mining/ 
49
Probabilistic Data Structures: 
a fascinating and relatively new area, pioneered 
by relatively few people – e.g., Philippe Flajolet 
provides approximation, with error bounds – 
in general uses significantly less resources 
(RAM, CPU, etc.) 
many algorithms can be constructed from 
combinations of read and write monoids 
aggregate different ranges by composing 
hashes, instead of repeating full-queries 
50
Probabilistic Data Structures: Some Examples 
algorithm use case example 
Count-Min Sketch frequency summaries code 
HyperLogLog set cardinality code 
Bloom Filter set membership 
MinHash 
set similarity 
DSQ streaming quantiles 
SkipList ordered sequence search 
51
Probabilistic Data Structures: Some Examples 
algorithm use case example 
Count-Min Sketch frequency summaries code 
HyperLogLog set cardinality code 
suggestion: consider these 
as your most quintessential 
collections data types at scale 
Bloom Filter set membership 
MinHash 
set similarity 
DSQ streaming quantiles 
SkipList ordered sequence search 
52
Add ALL the Things: 
Abstract Algebra Meets Analytics 
infoq.com/presentations/abstract-algebra-analytics 
Avi Bryant, Strange Loop (2013) 
• grouping doesn’t matter (associativity) 
• ordering doesn’t matter (commutativity) 
• zeros get ignored 
In other words, while partitioning data at 
scale is quite difficult, you can let the math 
allow your code to be flexible at scale 
Avi Bryant 
@avibryant 
Probabilistic Data Structures: Performance Bottlenecks 
53
Probabilistic Data Structures: Industry Drivers 
• sketch algorithms: trade bounded errors for 
orders of magnitude less required resources, 
e.g., fit more complex apps in memory 
• multicore + large memory spaces (off heap) are 
increasing the resources per node in a cluster 
• containers allow for finer-grain allocation of 
cluster resources and multi-tenancy 
• monoids, etc.: guarantees of associativity within 
the code allow for more effective distributed 
computing, e.g., partial aggregates 
• less resources must be spent sorting/windowing 
data prior to working with a data set 
• real-time apps, which don’t have the luxury of 
anticipating data partitions, can respond quickly 
54
Probabilistic Data Structures: Recommended Reading 
Probabilistic Data Structures for Web 
Analytics and Data Mining 
Ilya Katsov (2012-05-01) 
A collection of links for streaming 
algorithms and data structures 
Debasish Ghosh 
Aggregate Knowledge blog (now Neustar) 
Timon Karnezos, Matt Curcio, et al. 
Probabilistic Data Structures and 
Breaking Down Big Sequence Data 
C. Titus Brown, O'Reilly (2010-11-10) 
Algebird 
Avi Bryant, Oscar Boykin, et al. Twitter (2012) 
Mining of Massive Datasets 
Jure Leskovec, Anand Rajaraman, 
Jeff Ullman, Cambridge (2011) 
55
Resources
cloud-based notebooks: 
databricks.com/blog/2014/07/14/databricks-cloud-making- 
big-data-easy.html 
youtube.com/watch?v=dJQ5lV5Tldw#t=883
certification: 
Apache Spark developer certificate program 
• http://oreilly.com/go/sparkcert 
• defined by Spark experts @Databricks 
• assessed by O’Reilly Media 
• establishes the bar for Spark expertise
MOOCs: 
Anthony Joseph 
UC Berkeley 
begins 2015-02-23 
edx.org/course/uc-berkeleyx/uc-berkeleyx- 
cs100-1x-introduction- 
big-6181 
Ameet Talwalkar 
UCLA 
begins 2015-04-14 
edx.org/course/uc-berkeleyx/ 
uc-berkeleyx-cs190-1x-scalable- 
machine-6066
community: 
spark.apache.org/community.html 
events worldwide: goo.gl/2YqJZK 
! 
video+preso archives: spark-summit.org 
resources: databricks.com/spark-training-resources 
workshops: databricks.com/spark-training
http://spark-summit.org/ 
61
confs: 
Data Day Texas 
Austin, Jan 10 
datadaytexas.com 
Strata CA 
San Jose, Feb 18-20 
strataconf.com/strata2015 
Spark Summit East 
NYC, Mar 18-19 
spark-summit.org/east 
Strata EU 
London, May 5-7 
strataconf.com/big-data-conference-uk-2015 
Spark Summit 2015 
SF, Jun 15-17 
spark-summit.org
books: 
Fast Data Processing 
with Spark 
Holden Karau 
Packt (2013) 
shop.oreilly.com/product/ 
9781782167068.do 
Spark in Action 
Chris Fregly 
Manning (2015*) 
sparkinaction.com/ 
Learning Spark 
Holden Karau, 
Andy Konwinski, 
Matei Zaharia 
O’Reilly (2015*) 
shop.oreilly.com/product/ 
0636920028512.do

More Related Content

What's hot (20)

PDF
Microservices, containers, and machine learning
Paco Nathan
 
PDF
Spark streaming
Noam Shaish
 
PDF
QCon São Paulo: Real-Time Analytics with Spark Streaming
Paco Nathan
 
PDF
Jupyter for Education: Beyond Gutenberg and Erasmus
Paco Nathan
 
PDF
Introduction to Spark Training
Spark Summit
 
PDF
Use of standards and related issues in predictive analytics
Paco Nathan
 
PDF
Strata EU 2014: Spark Streaming Case Studies
Paco Nathan
 
PDF
Data Science with Spark
Krishna Sankar
 
PDF
GalvanizeU Seattle: Eleven Almost-Truisms About Data
Paco Nathan
 
PDF
Graph Analytics in Spark
Paco Nathan
 
PDF
Functional programming
 for optimization problems 
in Big Data
Paco Nathan
 
PDF
Transitioning Compute Models: Hadoop MapReduce to Spark
Slim Baltagi
 
PDF
Adding Complex Data to Spark Stack-(Neeraja Rentachintala, MapR)
Spark Summit
 
PPTX
JEEConf 2015 - Introduction to real-time big data with Apache Spark
Taras Matyashovsky
 
PDF
Architecture in action 01
Krishna Sankar
 
PDF
An excursion into Graph Analytics with Apache Spark GraphX
Krishna Sankar
 
PDF
Spark Summit East 2015 Keynote -- Databricks CEO Ion Stoica
Databricks
 
PDF
H2O Big Join Slides
Sri Ambati
 
PDF
Jump Start on Apache® Spark™ 2.x with Databricks
Databricks
 
PDF
Sparkling Water 2.0 - Michal Malohlava
Sri Ambati
 
Microservices, containers, and machine learning
Paco Nathan
 
Spark streaming
Noam Shaish
 
QCon São Paulo: Real-Time Analytics with Spark Streaming
Paco Nathan
 
Jupyter for Education: Beyond Gutenberg and Erasmus
Paco Nathan
 
Introduction to Spark Training
Spark Summit
 
Use of standards and related issues in predictive analytics
Paco Nathan
 
Strata EU 2014: Spark Streaming Case Studies
Paco Nathan
 
Data Science with Spark
Krishna Sankar
 
GalvanizeU Seattle: Eleven Almost-Truisms About Data
Paco Nathan
 
Graph Analytics in Spark
Paco Nathan
 
Functional programming
 for optimization problems 
in Big Data
Paco Nathan
 
Transitioning Compute Models: Hadoop MapReduce to Spark
Slim Baltagi
 
Adding Complex Data to Spark Stack-(Neeraja Rentachintala, MapR)
Spark Summit
 
JEEConf 2015 - Introduction to real-time big data with Apache Spark
Taras Matyashovsky
 
Architecture in action 01
Krishna Sankar
 
An excursion into Graph Analytics with Apache Spark GraphX
Krishna Sankar
 
Spark Summit East 2015 Keynote -- Databricks CEO Ion Stoica
Databricks
 
H2O Big Join Slides
Sri Ambati
 
Jump Start on Apache® Spark™ 2.x with Databricks
Databricks
 
Sparkling Water 2.0 - Michal Malohlava
Sri Ambati
 

Viewers also liked (13)

PDF
Data Science Reinvents Learning?
Paco Nathan
 
PDF
GraphX: Graph analytics for insights about developer communities
Paco Nathan
 
PDF
A New Year in Data Science: ML Unpaused
Paco Nathan
 
PDF
SF Python Meetup: TextRank in Python
Paco Nathan
 
PDF
Data Science in Future Tense
Paco Nathan
 
PDF
#MesosCon 2014: Spark on Mesos
Paco Nathan
 
PDF
OSCON 2014: Data Workflows for Machine Learning
Paco Nathan
 
PDF
Big Data is changing abruptly, and where it is likely heading
Paco Nathan
 
PPTX
Bring the Spark To Your Eyes
Demi Ben-Ari
 
PPTX
Future of data science as a profession
Jose Quesada
 
PDF
Big data & data science challenges and opportunities
Jose Quesada
 
PDF
Announcing Databricks Cloud (Spark Summit 2014)
Databricks
 
PPTX
Prediction as a service with ensemble model in SparkML and Python ScikitLearn
Josef A. Habdank
 
Data Science Reinvents Learning?
Paco Nathan
 
GraphX: Graph analytics for insights about developer communities
Paco Nathan
 
A New Year in Data Science: ML Unpaused
Paco Nathan
 
SF Python Meetup: TextRank in Python
Paco Nathan
 
Data Science in Future Tense
Paco Nathan
 
#MesosCon 2014: Spark on Mesos
Paco Nathan
 
OSCON 2014: Data Workflows for Machine Learning
Paco Nathan
 
Big Data is changing abruptly, and where it is likely heading
Paco Nathan
 
Bring the Spark To Your Eyes
Demi Ben-Ari
 
Future of data science as a profession
Jose Quesada
 
Big data & data science challenges and opportunities
Jose Quesada
 
Announcing Databricks Cloud (Spark Summit 2014)
Databricks
 
Prediction as a service with ensemble model in SparkML and Python ScikitLearn
Josef A. Habdank
 
Ad

Similar to Databricks Meetup @ Los Angeles Apache Spark User Group (20)

PDF
Spark streaming State of the Union - Strata San Jose 2015
Databricks
 
PDF
Big data apache spark + scala
Juantomás García Molina
 
PDF
Spark streaming state of the union
Databricks
 
PDF
Strata NYC 2015: What's new in Spark Streaming
Databricks
 
PPTX
Guest Lecture on Spark Streaming in Stanford CME 323: Distributed Algorithms ...
Tathagata Das
 
PPTX
Apache Spark Components
Girish Khanzode
 
PPT
strata_spark_streaming.ppt
rveiga100
 
PDF
Apache Spark Crash Course
DataWorks Summit
 
PDF
Apache Spark Crash Course
DataWorks Summit/Hadoop Summit
 
PDF
Apache Spark Streaming
Bartosz Jankiewicz
 
PPTX
Spark Concepts - Spark SQL, Graphx, Streaming
Petr Zapletal
 
PPT
Spark streaming
Venkateswaran Kandasamy
 
PDF
Introduction to Spark Streaming
datamantra
 
PPTX
East Bay Java User Group Oct 2014 Spark Streaming Kinesis Machine Learning
Chris Fregly
 
PDF
Building end to end streaming application on Spark
datamantra
 
PPTX
Stream, stream, stream: Different streaming methods with Spark and Kafka
Itai Yaffe
 
PDF
Introduction to Spark Streaming & Apache Kafka | Big Data Hadoop Spark Tutori...
CloudxLab
 
PPTX
Apache Spark in Industry
Dorian Beganovic
 
PDF
Spark Streaming and MLlib - Hyderabad Spark Group
Phaneendra Chiruvella
 
PDF
Spark Streaming @ Berlin Apache Spark Meetup, March 2015
Stratio
 
Spark streaming State of the Union - Strata San Jose 2015
Databricks
 
Big data apache spark + scala
Juantomás García Molina
 
Spark streaming state of the union
Databricks
 
Strata NYC 2015: What's new in Spark Streaming
Databricks
 
Guest Lecture on Spark Streaming in Stanford CME 323: Distributed Algorithms ...
Tathagata Das
 
Apache Spark Components
Girish Khanzode
 
strata_spark_streaming.ppt
rveiga100
 
Apache Spark Crash Course
DataWorks Summit
 
Apache Spark Crash Course
DataWorks Summit/Hadoop Summit
 
Apache Spark Streaming
Bartosz Jankiewicz
 
Spark Concepts - Spark SQL, Graphx, Streaming
Petr Zapletal
 
Spark streaming
Venkateswaran Kandasamy
 
Introduction to Spark Streaming
datamantra
 
East Bay Java User Group Oct 2014 Spark Streaming Kinesis Machine Learning
Chris Fregly
 
Building end to end streaming application on Spark
datamantra
 
Stream, stream, stream: Different streaming methods with Spark and Kafka
Itai Yaffe
 
Introduction to Spark Streaming & Apache Kafka | Big Data Hadoop Spark Tutori...
CloudxLab
 
Apache Spark in Industry
Dorian Beganovic
 
Spark Streaming and MLlib - Hyderabad Spark Group
Phaneendra Chiruvella
 
Spark Streaming @ Berlin Apache Spark Meetup, March 2015
Stratio
 
Ad

More from Paco Nathan (9)

PDF
Human in the loop: a design pattern for managing teams working with ML
Paco Nathan
 
PDF
Human-in-the-loop: a design pattern for managing teams that leverage ML
Paco Nathan
 
PDF
Human-in-a-loop: a design pattern for managing teams which leverage ML
Paco Nathan
 
PDF
Humans in a loop: Jupyter notebooks as a front-end for AI
Paco Nathan
 
PDF
Humans in the loop: AI in open source and industry
Paco Nathan
 
PDF
Computable Content
Paco Nathan
 
PDF
Computable Content: Lessons Learned
Paco Nathan
 
PDF
Brief Intro to Apache Spark @ Stanford ICME
Paco Nathan
 
PDF
How Apache Spark fits into the Big Data landscape
Paco Nathan
 
Human in the loop: a design pattern for managing teams working with ML
Paco Nathan
 
Human-in-the-loop: a design pattern for managing teams that leverage ML
Paco Nathan
 
Human-in-a-loop: a design pattern for managing teams which leverage ML
Paco Nathan
 
Humans in a loop: Jupyter notebooks as a front-end for AI
Paco Nathan
 
Humans in the loop: AI in open source and industry
Paco Nathan
 
Computable Content
Paco Nathan
 
Computable Content: Lessons Learned
Paco Nathan
 
Brief Intro to Apache Spark @ Stanford ICME
Paco Nathan
 
How Apache Spark fits into the Big Data landscape
Paco Nathan
 

Recently uploaded (20)

PDF
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PPTX
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PDF
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PPTX
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
PDF
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 

Databricks Meetup @ Los Angeles Apache Spark User Group

  • 1. Databricks Spark Meetup Los Angeles Apache Spark Users Group 2014-12-11 meetup.com/Los-Angeles-Apache-Spark-Users-Group/events/218748643/ Paco Nathan @pacoid
  • 3. What is Spark? Developed in 2009 at UC Berkeley AMPLab, then open sourced in 2010, Spark has since become one of the largest OSS communities in big data, with over 200 contributors in 50+ organizations spark.apache.org “Organizations that are looking at big data challenges – including collection, ETL, storage, exploration and analytics – should consider Spark for its in-memory performance and the breadth of its model. It supports advanced analytics solutions on Hadoop clusters, including the iterative model required for machine learning and graph analysis.” Gartner, Advanced Analytics and Data Science (2014) 3
  • 5. What is Spark? Spark Core is the general execution engine for the Spark platform that other functionality is built atop: ! • in-memory computing capabilities deliver speed • general execution model supports wide variety of use cases • ease of development – native APIs in Java, Scala, Python (+ SQL, Clojure, R) 5
  • 6. What is Spark? WordCount in 3 lines of Spark WordCount in 50+ lines of Java MR 6
  • 7. TL;DR: Smashing The Previous Petabyte Sort Record databricks.com/blog/2014/11/05/spark-officially-sets- a-new-record-in-large-scale-sorting.html 7
  • 8. Spark is one of the most active Apache projects ohloh.net/orgs/apache 8 TL;DR: Sustained Exponential Growth
  • 9. TL;DR: Spark Just Passed Hadoop in Popularity on Web datanami.com/2014/11/21/spark-just-passed-hadoop- popularity-web-heres/ 9 In October Apache Spark (blue line) passed Apache Hadoop (red line) in popularity according to Google Trends
  • 10. TL;DR: Spark Expertise Tops Median Salaries within Big Data oreilly.com/data/free/2014-data-science-salary- survey.csp 10
  • 12. Why Streaming? Because Machine Data! I <3 Logs Jay Kreps O’Reilly (2014) shop.oreilly.com/product/ 0636920034339.do 12
  • 13. Why Streaming? Because Google! MillWheel: Fault-Tolerant Stream Processing at Internet Scale Tyler Akidau, Alex Balikov, Kaya Bekiroglu, Slava Chernyak, Josh Haberman, Reuven Lax, Sam McVeety, Daniel Mills, Paul Nordstrom, Sam Whittle Very Large Data Bases (2013) research.google.com/pubs/ pub41378.html 13
  • 14. Why Streaming? Because IoT! kickstarter.com/projects/1614456084/b4rm4n-be- a-cocktail-hero 14
  • 15. Why Streaming? Because IoT! (exabytes/day per sensor) bits.blogs.nytimes.com/2013/06/19/g-e-makes-the-machine- and-then-uses-sensors-to-listen-to-it/ 15
  • 17. Spark Streaming: Requirements Let’s consider the top-level requirements for a streaming framework: • clusters scalable to 100’s of nodes • low-latency, in the range of seconds (meets 90% of use case needs) • efficient recovery from failures (which is a hard problem in CS) • integrates with batch: many co’s run the same business logic both online+offline 17
  • 18. Spark Streaming: Requirements Therefore, run a streaming computation as: a series of very small, deterministic batch jobs ! • Chop up the live stream into batches of X seconds • Spark treats each batch of data as RDDs and processes them using RDD operations • Finally, the processed results of the RDD operations are returned in batches 18
  • 19. Spark Streaming: Requirements Therefore, run a streaming computation as: a series of very small, deterministic batch jobs ! • Batch sizes as low as ½ sec, latency of about 1 sec • Potential for combining batch processing and streaming processing in the same system 19
  • 20. Spark Streaming: Integration Data can be ingested from many sources: Kafka, Flume, Twitter, ZeroMQ, TCP sockets, etc. Results can be pushed out to filesystems, databases, live dashboards, etc. Spark’s built-in machine learning algorithms and graph processing algorithms can be applied to data streams 20
  • 21. Spark Streaming: Timeline 2012 project started 2013 alpha release (Spark 0.7) 2014 graduated (Spark 0.9) Discretized Streams: A Fault-Tolerant Model for Scalable Stream Processing Matei Zaharia, Tathagata Das, Haoyuan Li, Timothy Hunter, Scott Shenker, Ion Stoica Berkeley EECS (2012-12-14) www.eecs.berkeley.edu/Pubs/TechRpts/2012/EECS-2012-259.pdf project lead: Tathagata Das @tathadas 21
  • 22. Spark Streaming: Requirements Typical kinds of applications: • datacenter operations • web app funnel metrics • ad optimization • anti-fraud • telecom • video analytics • various telematics and much much more! 22
  • 23. Spark Streaming: Some Excellent Resources Programming Guide spark.apache.org/docs/latest/streaming-programming- guide.html TD @ Spark Summit 2014 youtu.be/o-NXwFrNAWQ?list=PLTPXxbhUt- YWGNTaDj6HSjnHMxiTD1HCR “Deep Dive into Spark Streaming” slideshare.net/spark-project/deep-divewithsparkstreaming-tathagatadassparkmeetup20130617 Spark Reference Applications databricks.gitbooks.io/databricks-spark-reference- applications/ 23
  • 24. Quiz: name the bits and pieces… import org.apache.spark.streaming._! import org.apache.spark.streaming.StreamingContext._! ! // create a StreamingContext with a SparkConf configuration! val ssc = new StreamingContext(sparkConf, Seconds(10))! ! // create a DStream that will connect to serverIP:serverPort! val lines = ssc.socketTextStream(serverIP, serverPort)! ! // split each line into words! val words = lines.flatMap(_.split(" "))! ! // count each word in each batch! val pairs = words.map(word => (word, 1))! val wordCounts = pairs.reduceByKey(_ + _)! ! // print a few of the counts to the console! wordCounts.print()! ! ssc.start()! ssc.awaitTermination() 24
  • 26. Because Use Cases: +40 known production use cases
  • 27. Because Use Cases: Stratio Stratio Streaming: a new approach to Spark Streaming David Morales, Oscar Mendez 2014-06-30 spark-summit.org/2014/talk/stratio-streaming- a-new-approach-to-spark-streaming • Stratio Streaming is the union of a real-time messaging bus with a complex event processing engine using Spark Streaming • allows the creation of streams and queries on the fly • paired with Siddhi CEP engine and Apache Kafka • added global features to the engine such as auditing 27 and statistics
  • 28. Because Use Cases: Pearson Pearson uses Spark Streaming for next generation adaptive learning platform Dibyendu Bhattacharya 2014-12-08 databricks.com/blog/2014/12/08/pearson-uses- spark-streaming-for-next-generation-adaptive- learning-platform.html • Kafka + Spark + Cassandra + Blur, on AWS on a YARN cluster • single platform/common API was a key reason to replace Storm with Spark Streaming • custom Kafka Consumer for Spark Streaming, using Low Level Kafka Consumer APIs • handles: Kafka node failures, receiver failures, leader changes, committed offset in ZK, tunable data rate throughput 28
  • 29. Because Use Cases: Ooyala Productionizing a 24/7 Spark Streaming service on YARN Issac Buenrostro, Arup Malakar 2014-06-30 spark-summit.org/2014/talk/ productionizing-a-247-spark-streaming-service- on-yarn • state-of-the-art ingestion pipeline, processing over two billion video events a day • how do you ensure 24/7 availability and fault tolerance? • what are the best practices for Spark Streaming and its integration with Kafka and YARN? • how do you monitor and instrument the various 29 stages of the pipeline?
  • 30. Because Use Cases: Guavus Guavus Embeds Apache Spark into its Operational Intelligence Platform Deployed at the World’s Largest Telcos Eric Carr 2014-09-25 databricks.com/blog/2014/09/25/guavus-embeds-apache-spark-into- its-operational-intelligence-platform-deployed-at-the-worlds- largest-telcos.html • 4 of 5 top mobile network operators, 3 of 5 top Internet backbone providers, 80% MSOs in NorAm • analyzing 50% of US mobile data traffic, +2.5 PB/day • latency is critical for resolving operational issues before they cascade: 2.5 MM transactions per second • “analyze first” not “store first ask questions later” 30
  • 31. Because Use Cases: Sharethrough Sharethrough Uses Spark Streaming to Optimize Bidding in Real Time Russell Cardullo, Michael Ruggier 2014-03-25 databricks.com/blog/2014/03/25/ sharethrough-and-spark-streaming.html • the profile of a 24 x 7 streaming app is different than an hourly batch job… • take time to validate output against the input… • confirm that supporting objects are being serialized… • the output of your Spark Streaming job is only as reliable as the queue that feeds Spark… • monoids… 31
  • 32. Demos
  • 33. Demos, as time permits: Brand new Python support for Streaming in 1.2 github.com/apache/spark/tree/master/examples/src/main/ python/streaming Twitter Streaming Language Classifier databricks.gitbooks.io/databricks-spark-reference-applications/ content/twitter_classifier/README.html 33
  • 34. Demo: PySpark Streaming Network Word Count import sys! from pyspark import SparkContext! from pyspark.streaming import StreamingContext! ! sc = SparkContext(appName="PyStreamNWC", master="local[*]")! ssc = StreamingContext(sc, Seconds(5))! ! lines = ssc.socketTextStream(sys.argv[1], int(sys.argv[2]))! ! counts = lines.flatMap(lambda line: line.split(" ")) ! .map(lambda word: (word, 1)) ! .reduceByKey(lambda a, b: a+b)! ! counts.pprint()! ! ssc.start()! ssc.awaitTermination() 34
  • 35. Demo: PySpark Streaming Network Word Count - Stateful import sys! from pyspark import SparkContext! from pyspark.streaming import StreamingContext! ! def updateFunc (new_values, last_sum):! return sum(new_values) + (last_sum or 0)! ! sc = SparkContext(appName="PyStreamNWC", master="local[*]")! ssc = StreamingContext(sc, Seconds(5))! ssc.checkpoint("checkpoint")! ! lines = ssc.socketTextStream(sys.argv[1], int(sys.argv[2]))! ! counts = lines.flatMap(lambda line: line.split(" ")) ! .map(lambda word: (word, 1)) ! .updateStateByKey(updateFunc) ! .transform(lambda x: x.sortByKey())! ! counts.pprint()! ! ssc.start()! ssc.awaitTermination() 35
  • 37. Spark Integrations: Discover Insights Clean Up Your Data Run Sophisticated Analytics Integrate With Many Other Systems Use Lots of Different Data Sources cloud-based notebooks… ETL… the Hadoop ecosystem… widespread use of PyData… advanced analytics in streaming… rich custom search… web apps for data APIs… low-latency + multi-tenancy… 37
  • 38. Spark Integrations: Advanced analytics for streaming use cases Kafka + Spark + Cassandra datastax.com/documentation/datastax_enterprise/4.5/ datastax_enterprise/spark/sparkIntro.html http://helenaedelson.com/?p=991 github.com/datastax/spark-cassandra-connector github.com/dibbhatt/kafka-spark-consumer unified compute data streams columnar key-value 38
  • 39. Spark Integrations: Rich search, immediate insights Spark + ElasticSearch databricks.com/blog/2014/06/27/application-spotlight-elasticsearch. html elasticsearch.org/guide/en/elasticsearch/hadoop/current/ spark.html spark-summit.org/2014/talk/streamlining-search-indexing- using-elastic-search-and-spark unified compute document search 39
  • 40. Spark Integrations: General Guidelines • use Tachyon as a best practice for sharing between two streaming apps • or write to Cassandra or HBase / then read back • design patterns for integration: spark.apache.org/docs/latest/streaming-programming- guide.html#output-operations- on-dstreams 40
  • 42. A Look Ahead… 1. Greater Stability and Robustness • improved high availability via Write-Ahead Logs + Reliable Receiver • enabled as an optional feature for Spark 1.2 • Spark Standalone can already restart driver (since 1.1) • HA Spark Streaming defined: youtu.be/jcJq3ZalXD8 • excellent discussion of fault-tolerance (2012): cs.duke.edu/~kmoses/cps516/dstream.html 42
  • 43. A Look Ahead… 2. Support for more environments, i.e., beyond Hadoop • three use cases currently depend on HDFS • those are being abstracted out • could then use Cassandra, etc. 43
  • 44. A Look Ahead… 3. Improved support for Python • KafkaUtils, FlumeUtils, etc., in Python API in 1.3 44
  • 45. A Look Ahead… 4. Better flow control • a somewhat longer-term goal, plus it is a hard problem in general • poses interesting challenges beyond what other streaming systems have faced 45
  • 47. A Big Picture… 19-20c. statistics emphasized defensibility in lieu of predictability, based on analytic variance and goodness-of-fit tests ! That approach inherently led toward a manner of computational thinking based on batch windows ! They missed a subtle point… 47
  • 48. A Big Picture… The view in the lens has changed 21c. shift towards modeling based on probabilistic approximations: trade bounded errors for greatly reduced resource costs highlyscalable.wordpress.com/2012/05/01/ probabilistic-structures-web-analytics-data- mining/ 48
  • 49. A Big Picture… The view in the lens has changed 21c. shift towards modeling based on probabil approximations: trade bounded errors for greatly reduced resource costs Twitter catch-phrase: “Hash, don’t sample” highlyscalable.wordpress.com/2012/05/01/ probabilistic-structures-web-analytics-data- mining/ 49
  • 50. Probabilistic Data Structures: a fascinating and relatively new area, pioneered by relatively few people – e.g., Philippe Flajolet provides approximation, with error bounds – in general uses significantly less resources (RAM, CPU, etc.) many algorithms can be constructed from combinations of read and write monoids aggregate different ranges by composing hashes, instead of repeating full-queries 50
  • 51. Probabilistic Data Structures: Some Examples algorithm use case example Count-Min Sketch frequency summaries code HyperLogLog set cardinality code Bloom Filter set membership MinHash set similarity DSQ streaming quantiles SkipList ordered sequence search 51
  • 52. Probabilistic Data Structures: Some Examples algorithm use case example Count-Min Sketch frequency summaries code HyperLogLog set cardinality code suggestion: consider these as your most quintessential collections data types at scale Bloom Filter set membership MinHash set similarity DSQ streaming quantiles SkipList ordered sequence search 52
  • 53. Add ALL the Things: Abstract Algebra Meets Analytics infoq.com/presentations/abstract-algebra-analytics Avi Bryant, Strange Loop (2013) • grouping doesn’t matter (associativity) • ordering doesn’t matter (commutativity) • zeros get ignored In other words, while partitioning data at scale is quite difficult, you can let the math allow your code to be flexible at scale Avi Bryant @avibryant Probabilistic Data Structures: Performance Bottlenecks 53
  • 54. Probabilistic Data Structures: Industry Drivers • sketch algorithms: trade bounded errors for orders of magnitude less required resources, e.g., fit more complex apps in memory • multicore + large memory spaces (off heap) are increasing the resources per node in a cluster • containers allow for finer-grain allocation of cluster resources and multi-tenancy • monoids, etc.: guarantees of associativity within the code allow for more effective distributed computing, e.g., partial aggregates • less resources must be spent sorting/windowing data prior to working with a data set • real-time apps, which don’t have the luxury of anticipating data partitions, can respond quickly 54
  • 55. Probabilistic Data Structures: Recommended Reading Probabilistic Data Structures for Web Analytics and Data Mining Ilya Katsov (2012-05-01) A collection of links for streaming algorithms and data structures Debasish Ghosh Aggregate Knowledge blog (now Neustar) Timon Karnezos, Matt Curcio, et al. Probabilistic Data Structures and Breaking Down Big Sequence Data C. Titus Brown, O'Reilly (2010-11-10) Algebird Avi Bryant, Oscar Boykin, et al. Twitter (2012) Mining of Massive Datasets Jure Leskovec, Anand Rajaraman, Jeff Ullman, Cambridge (2011) 55
  • 57. cloud-based notebooks: databricks.com/blog/2014/07/14/databricks-cloud-making- big-data-easy.html youtube.com/watch?v=dJQ5lV5Tldw#t=883
  • 58. certification: Apache Spark developer certificate program • http://oreilly.com/go/sparkcert • defined by Spark experts @Databricks • assessed by O’Reilly Media • establishes the bar for Spark expertise
  • 59. MOOCs: Anthony Joseph UC Berkeley begins 2015-02-23 edx.org/course/uc-berkeleyx/uc-berkeleyx- cs100-1x-introduction- big-6181 Ameet Talwalkar UCLA begins 2015-04-14 edx.org/course/uc-berkeleyx/ uc-berkeleyx-cs190-1x-scalable- machine-6066
  • 60. community: spark.apache.org/community.html events worldwide: goo.gl/2YqJZK ! video+preso archives: spark-summit.org resources: databricks.com/spark-training-resources workshops: databricks.com/spark-training
  • 62. confs: Data Day Texas Austin, Jan 10 datadaytexas.com Strata CA San Jose, Feb 18-20 strataconf.com/strata2015 Spark Summit East NYC, Mar 18-19 spark-summit.org/east Strata EU London, May 5-7 strataconf.com/big-data-conference-uk-2015 Spark Summit 2015 SF, Jun 15-17 spark-summit.org
  • 63. books: Fast Data Processing with Spark Holden Karau Packt (2013) shop.oreilly.com/product/ 9781782167068.do Spark in Action Chris Fregly Manning (2015*) sparkinaction.com/ Learning Spark Holden Karau, Andy Konwinski, Matei Zaharia O’Reilly (2015*) shop.oreilly.com/product/ 0636920028512.do