GraphX: Graph Processing in a Distributed Dataflow Framework
|
|
- Rudolf Golden
- 5 years ago
- Views:
Transcription
1 GraphX: Graph Processing in a Distributed Dataflow Framework Joseph Gonzalez Postdoc, UC-Berkeley MPLab Co-founder, GraphLab Inc. Joint work with Reynold Xin, nkur Dave, Daniel Crankshaw, Michael Franklin, and Ion Stoica OSDI 2014 UC BERKELEY
2 Modern nalytics Link Table Hyperlinks PageRank Top 20 Pages Title Link Title PR Raw Wikipedia < / >! < / >! < / >! XML! Top Communities Com. PR.. Discussion Table Editor Graph Community Detection User Community User Disc. User Com.
3 Tables Link Table Hyperlinks PageRank Top 20 Pages Title Link Title PR Raw Wikipedia < / >! < / >! < / >! XML! Top Communities Com. PR.. Discussion Table Editor Graph Community Detection User Community User Disc. User Com.
4 Graphs Link Table Hyperlinks PageRank Top 20 Pages Title Link Title PR Raw Wikipedia < / >! < / >! < / >! XML! Top Communities Com. PR.. Discussion Table Editor Graph Community Detection User Community User Disc. User Com.
5 Separate Systems Tables Graphs
6 Dataflow Systems Separate Systems Graphs Table Row Row Row Result Row
7 Separate Systems Dataflow Systems Graph Systems Table Row Dependency Graph Row Row Result Row
8 Difficult to Use Users must Learn, Deploy, and Manage multiple systems Leads to brittle and often complex interfaces 8
9 Inefficient Extensive data movement and duplication across the network and file system < / >! < / >! < / >! XML! HDFS HDFS HDFS HDFS Limited reuse internal data-structures across stages 9
10 GraphX Unifies Computation on Tables and Graphs GraphX Table View Spark Dataflow Framework Graph View Enabling a single system to easily and efficiently support the entire pipeline
11 Separate Systems Dataflow Systems Graph Systems Table Row Row Row Row Result? Dependency Graph
12 Separate Systems Dataflow Systems Graph Systems Table Row Dependency Graph Row Row Result Row
13 PageRank on the Live-Journal Graph Hadoop 1340 Spark GraphLab? Runtime (in seconds, PageRank for 10 iterations) Hadoop is 60x slower than GraphLab Spark is 16x slower than GraphLab
14 Key Question How can we naturally express and efficiently execute graph computation in a general purpose dataflow framework? Distill the lessons learned from specialized graph systems
15 Key Question How can we naturally express and efficiently execute graph computation in a general purpose dataflow framework? Representation Optimizations
16 Link Table Hyperlinks PageRank Top 20 Pages Title Link Title PR Raw Wikipedia < / >! < / >! < / >! XML! Top Communities Com. PR.. Discussion Table Editor Graph Community Detection User Community User Disc. User Com.
17 Example Computation: PageRank Express computation locally: R[i] = Rank of Page i Random Reset Prob. X j2inlinks(i) R[j] OutLinks(j) Weighted sum of neighbors ranks Iterate until convergence 17
18 Think like a Vertex. - Malewicz et al., SIGMOD 10 18
19 Graph-Parallel Pattern Gonzalez et al. [OSDI 12] Gather information from neighboring vertices 19
20 Graph-Parallel Pattern Gonzalez et al. [OSDI 12] pply an update the vertex property 20
21 Graph-Parallel Pattern Gonzalez et al. [OSDI 12] Scatter information to neighboring vertices 21
22 Many Graph-Parallel lgorithms Collaborative Filtering» lternating Least Squares» Stochastic Gradient Descent» Tensor Factorization MCHINE Structured Prediction» Loopy Belief Propagation» Max-Product Linear Programs» Gibbs Sampling LERNING Semi-supervised ML» Graph SSL» CoEM Community Detection» Triangle-Counting» K-core Decomposition» K-Truss NETWORK Graph nalytics» PageRank» Personalized PageRank» Shortest Path» Graph Coloring NLYSIS 22
23 Specialized Computational Pattern Specialized Graph Optimizations
24 Graph System Optimizations Specialized Data-Structures Vertex-Cuts Partitioning Remote Caching / Mirroring Message Combiners ctive Set Tracking 24
25 Representation Join Distributed Graphs Horizontally Partitioned Tables Vertex Programs Dataflow Operators Optimizations dvances in Graph Processing Systems Distributed Join Optimization Materialized View Maintenance
26 Property Graph Data Model Property Graph B C D Vertex Property: User Profile Current PageRank Value Edge Property: F E Weights Timestamps
27 Encoding Property Graphs as Tables Property Graph B C Vertex Cut F E Part. 1 D Part. 2 Vertex Table (RDD) Machine 1 Machine 2 B C D E F Routing Table (RDD) B C D E F Edge Table (RDD) B C E E B C C D E F D F
28 Separate Properties and Structure Reuse structural information across multiple graphs Input Graph Transformed Graph Vertex Table Routing Table Edge Table Vertex Table Routing Table Edge Table Transform Vertex Properties
29 Table Operators Table operators are inherited from Spark: map filter groupby sort union join leftouterjoin rightouterjoin reduce count fold reducebykey groupbykey cogroup cross zip sample take first partitionby mapwith pipe save... 29
30 Graph Operators (Scala) class Graph [ V, E ] { def Graph(vertices: Table[ (Id, V) ], edges: Table[ (Id, Id, E) ]) // Table Views def vertices: Table[ (Id, V) ] def edges: Table[ (Id, Id, E) ] def triplets: Table [ ((Id, V), (Id, V), E) ] // Transformations def reverse: Graph[V, E] def subgraph(pv: (Id, V) => Boolean, pe: Edge[V,E] => Boolean): Graph[V,E] def mapv(m: (Id, V) => T ): Graph[T,E] def mape(m: Edge[V,E] => T ): Graph[V,T] // Joins def joinv(tbl: Table [(Id, T)]): Graph[(V, T), E ] def joine(tbl: Table [(Id, Id, T)]): Graph[V, (E, T)] // Computation def mrtriplets(mapf: (Edge[V,E]) => List[(Id, T)], reducef: (T, T) => T): Graph[T, E] } 30
31 Graph Operators (Scala) class Graph [ V, E ] { def Graph(vertices: Table[ (Id, V) ], edges: Table[ (Id, Id, E) ]) // Table Views def vertices: Table[ (Id, V) ] def edges: Table[ (Id, Id, E) ] def triplets: Table [ ((Id, V), (Id, V), E) ] // Transformations def reverse: Graph[V, E] def subgraph(pv: (Id, V) => Boolean, pe: Edge[V,E] => Boolean): Graph[V,E] def mapv(m: (Id, V) => T ): Graph[T,E] def mape(m: Edge[V,E] => T ): Graph[V,T] // Joins def joinv(tbl: Table [(Id, T)]): Graph[(V, T), E ] def joine(tbl: Table [(Id, Id, T)]): Graph[V, (E, T)] // Computation def mrtriplets(mapf: (Edge[V,E]) => List[(Id, T)], reducef: (T, T) => T): Graph[T, E] } capture the Gather-Scatter pattern from specialized graph-processing systems 31
32 Triplets Join Vertices and Edges The triplets operator joins vertices and edges: Vertices Triplets Edges B B C C D B C C D B C B C C D
33 Map-Reduce Triplets Map-Reduce triplets collects information about the neighborhood of each vertex: Src. or Dst. MapFunction( ) à (B, ) MapFunction( ) à (C, ) MapFunction( ) à (C, ) B MapFunction( C D ) à (D, ) B C C Reduce (B, ) (C, + ) (D, ) Message Combiners
34 Using these basic GraphX operators we implemented Pregel and GraphLab in under 50 lines of code! 34
35 The GraphX Stack (Lines of Code) PageRank (20) Connected Comp. (20) Pregel PI (34) K-core (60) Triangle Count (50) LD (220) SVD++ (110) GraphX (2,500) Spark (30,000) Some algorithms are more naturally expressed using the GraphX primitive operators
36 Representation Join Distributed Graphs Horizontally Partitioned Tables Vertex Programs Dataflow Operators Optimizations dvances in Graph Processing Systems Distributed Join Optimization Materialized View Maintenance
37 Join Site Selection using Routing Tables Routing Table (RDD) 1 2 Vertex Table (RDD) Never Shuffle Edges! Edge Table (RDD) B C B 1 B B C C 1 C C D D 1 2 D E E 2 E E F D F 2 F E F
38 Caching for Iterative mrtriplets Vertex Table (RDD) B C D E F Reusable Hash Index Reusable Hash Index Mirror Cache B C D Mirror Cache D E F Edge Table (RDD) Scan Scan B C E E B C C D E F D F
39 Incremental Updates for Triplets View Change Vertex Table (RDD) B Mirror Cache B C Edge Table (RDD) B B C C C D C D Change D E Mirror Cache D E Scan E E F D F F E F
40 Vertex Table (RDD) Edge Table (RDD) B C C D B C E F E F E D Mirror Cache B C D Mirror Cache D E F ggregation for Iterative mrtriplets B C D E F Change Change Scan Change Change Change Change Local ggregate Local ggregate B C D F
41 Reduction in Communication Due to Cached Updates Network Comm. (MB) Connected Components on Twitter Graph Most vertices are within 8 hops of all vertices in their comp Iteration
42 Benefit of Indexing ctive Vertices Runtime (Seconds) Connected Components on Twitter Graph Without ctive Tracking ctive Vertex Tracking Iteration
43 Join Elimination Identify and bypass joins for unused triplet fields» Java bytecode inspection PageRank on Twitter Communication (MB) Without Join Elimination Join Elimination Factor of 2 reduction in communication Iteration Better 43
44 dditional Optimizations Indexing and Bitmaps:» To accelerate joins across graphs» To efficiently construct sub-graphs Lineage based fault-tolerance» Exploits Spark lineage to recover in parallel» Eliminates need for costly check-points Substantial Index and Data Reuse:» Reuse routing tables across graphs and sub-graphs» Reuse edge adjacency information and indices 44
45 System Comparison Goal: Demonstrate that GraphX achieves performance parity with specialized graph-processing systems. Setup: 16 node EC2 Cluster (m2.4xlarge) + 1GigE Compare against GraphLab/PowerGraph (C++), Giraph (Java), & Spark (Java/Scala)
46 PageRank Benchmark EC2 Cluster of 16 x m2.4xlarge (8 cores) + 1GigE Runtime (Seconds) Twitter Graph (42M Vertices,1.5B Edges) x UK-Graph (106M Vertices, 3.7B Edges) 18x GraphX performs comparably to state-of-the-art graph processing systems.
47 Connected Comp. Benchmark EC2 Cluster of 16 x m2.4xlarge (8 cores) + 1GigE Runtime (Seconds) Twitter Graph (42M Vertices,1.5B Edges) x UK-Graph (106M Vertices, 3.7B Edges) 10x Out-of-Memory GraphX performs comparably to state-of-the-art graph processing systems.
48 Graphs are just one stage. What about a pipeline?
49 Small Pipeline in GraphX Raw Wikipedia Hyperlinks PageRank Top 20 Pages < / >! < / >! < / >! XML! HDFS HDFS Spark Giraph + Spark GraphLab + Spark GraphX Spark Preprocess Compute Spark Post Total Runtime (in Seconds) Timed end-to-end GraphX is the fastest
50 doption and Impact GraphX is now part of pache Spark Part of Cloudera Hadoop Distribution In production at libaba Taobao Order of magnitude gains over Spark Inspired GraphLab Inc. SFrame technology Unifies Tables & Graphs on Disk
51 GraphX à Unified Tables and Graphs New PI Blurs the distinction between Tables and Graphs New System Unifies Data-Parallel Graph-Parallel Systems Enabling users to easily and efficiently express the entire analytics pipeline
52 What did we Learn? Specialized Systems Graph Systems Integrated Frameworks GraphX
53 Future Work Specialized Systems Graph Systems Integrated Frameworks GraphX Parameter Server?
54 Future Work Specialized Systems Graph Systems Integrated Frameworks GraphX Parameter Server synchrony Non-deterministic Shared-State
55 Thank You Reynold Xin nkur Dave Daniel Crankshaw Michael Franklin Ion Stoica
56 Related Work Specialized Graph-Processing Systems: GraphLab [UI 10], Pregel [SIGMOD 10], Signal-Collect [ISWC 10], Combinatorial BLS [IJHPC 11], GraphChi [OSDI 12], PowerGraph [OSDI 12], Ligra [PPoPP 13], X-Stream [SOSP 13] lternative to Dataflow framework: Naiad [SOSP 13]: GraphLINQ Hyracks: Pregelix [VLDB 15] Distributed Join Optimization: Multicast Join [frati et al., EDBT 10] Semi-Join in MapReduce [Blanas et al., SIGMOD 10]
57 Edge Files Have Locality 1200 UK-Graph (106M Vertices, 3.7B Edges) GraphLab rebalances the edge-files on-load. GraphX preserves the ondisk layout through Spark. à Better Vertex-Cut Runtime (Seconds) 0 GraphLab GraphX + Shuffle GraphX
58 Scalability Twitter Graph (42M Vertices,1.5B Edges) Scales slightly better than PowerGraph/GraphLab 350 Runtime Linear Scaling EC2-Nodes
59 pache Spark Dataflow Platform Resilient Distributed Datasets (RDD): Zaharia et al., NSDI 12 RDD RDD RDD HDFS Load Map Reduce HDFS Load Map
60 pache Spark Dataflow Platform Resilient Distributed Datasets (RDD): RDD RDD Zaharia et al., NSDI 12 Persist in Memory RDD HDFS Load Map Reduce HDFS Load Map Optimized for iterative access to data..cache()
61 PageRank Benchmark EC2 Cluster of 16 x m2.4xlarge Nodes + 1GigE Runtime (Seconds) Twitter Graph (42M Vertices,1.5B Edges)? UK-Graph (106M Vertices, 3.7B Edges)? GraphX performs comparably to state-of-the-art graph processing systems.
62 Shared Memory dvantage Spark Shared Nothing Model Core Core Core Core Shuffle Files GraphLab Shared Memory Shared De-serialized In-Memory Graph Core Core Core Core
63 Shared Memory dvantage Spark Shared Nothing Model Core Core Core Core Shuffle Files GraphLab No SHM. TCP/IP Core Core Core Core Twitter Graph (42M Vertices,1.5B Edges) GraphLab GraphLab NoSHM GraphX Runtime (Seconds)
64 PageRank Benchmark Twitter Graph (42M Vertices,1.5B Edges) UK-Graph (106M Vertices, 3.7B Edges) GraphX performs comparably to state-of-the-art graph processing systems.
65 Connected Comp. Benchmark EC2 Cluster of 16 x m2.4xlarge Nodes + 1GigE Runtime (Seconds) Twitter Graph (42M Vertices,1.5B Edges) x UK-Graph (106M Vertices, 3.7B Edges) 10x Out-of-Memory Out-of-Memory GraphX performs comparably to state-of-the-art graph processing systems.
66 Fault-Tolerance Leverage Spark Fault-Tolerance Mechanism Runtime (Seconds) No Failure Lineage Restart
67 Graph-Processing Systems oogle Ligra GraphChi CombBLS GPS X-Stream Kineograph Representation Expose specialized PI to simplify graph programming. 67
68 Vertex-Program bstraction Pregel_PageRank(i, messages) : // Receive all the messages total = 0 foreach( msg in messages) : total = total + msg i // Update the rank of this vertex R[i] = total // Send new messages to neighbors foreach(j in out_neighbors[i]) : Send msg(r[i]) to vertex j 68
69 The Vertex-Program bstraction GraphLab_PageRank(i) // Compute sum over neighbors total = 0 foreach( j in neighbors(i)): total += R[j] * w ji // Update the PageRank R[i] = total R[4] * w Low, Gonzalez, et al. [UI 10] 69
70 Example: Oldest Follower Calculate the number of older followers for each user? val olderfollowerge = graph.mrtriplets( e => // Map if(e.src.age > e.dst.age) { (e.srcid, 1) else { Empty }, (a,b) => a + b // Reduce ).vertices B D 30 F C E
71 Enhanced Pregel in GraphX pregelpr(i, messagelist messagesum ):! // Receive all the messages! total = 0! messagesum foreach( msg in messagelist) :! total = total + msg! // Update the rank of this vertex! R[i] = total! combinemsg(a, b):! // // Compute Send new sum messages of two to messages! sendmsg(ià j, R[i], R[j], E[i,j]):! neighbors! return // foreach(j a + Compute in b! single out_neighbors[i]) message! :!! return Send msg(r[i]/e[i,j])! to vertex!! Require Message Combiners Remove Message Computation from the Vertex Program 71
72 ! PageRank in GraphX // Load and initialize the graph! val graph = GraphBuilder.text( hdfs://web.txt )! val prgraph = graph.joinvertices(graph.outdegrees)! // Implement and Run PageRank! val pagerank =! prgraph.pregel(initialmessage = 0.0, iter = 10)(! (oldv, msgsum) => * msgsum,! triplet => triplet.src.pr / triplet.src.deg,! (msg, msgb) => msg + msgb)! 72
73 Example nalytics Pipeline // Load raw data tables! val articles = sc.textfile( hdfs://wiki.xml ).map(xmlparser)! val links = articles.flatmap(article => article.outlinks)! // Build the graph from tables! val graph = new Graph(articles, links)! // Run PageRank lgorithm! val pr = graph.pagerank(tol = 1.0e-5)! // Extract and print the top 20 articles! val toprticles = articles.join(pr).top(20).collect! for ((article, pagerank) <- toprticles) {! println(article.title + \t + pagerank)! }!
74 pache Spark Dataflow Platform Resilient Distributed Datasets (RDD): RDD RDD Zaharia et al., NSDI 12 Persist in Memory RDD HDFS Load Map Reduce HDFS Load Map Lineage:.cache() Load Map Reduce HDFS RDD RDD RDD
GraphX: Unifying Data-Parallel and Graph-Parallel Analytics
GraphX: Unifying ata-parallel and Graph-Parallel nalytics Presented by aniel rankshaw Joint work with Reynold Xin, Joseph Gonzalez, nkur ave, Michael Franklin, and Ion Stoica Spark Meetup 3/25/2014 U BERKELEY
More informationGraphX. Graph Analytics in Spark. Ankur Dave Graduate Student, UC Berkeley AMPLab. Joint work with Joseph Gonzalez, Reynold Xin, Daniel
GraphX Graph nalytics in Spark nkur ave Graduate Student, U Berkeley MPLab Joint work with Joseph Gonzalez, Reynold Xin, aniel U BRKLY rankshaw, Michael Franklin, and Ion Stoica Graphs Social Networks
More informationLarge Scale Graph Processing Pregel, GraphLab and GraphX
Large Scale Graph Processing Pregel, GraphLab and GraphX Amir H. Payberah amir@sics.se KTH Royal Institute of Technology Amir H. Payberah (KTH) Large Scale Graph Processing 2016/10/03 1 / 76 Amir H. Payberah
More informationWhy do we need graph processing?
Why do we need graph processing? Community detection: suggest followers? Determine what products people will like Count how many people are in different communities (polling?) Graphs are Everywhere Group
More informationGraphX: Graph Processing in a Distributed Dataflow Framework
GraphX: Graph Processing in a Distributed Dataflow Framework Joseph E. Gonzalez, University of California, Berkeley; Reynold S. Xin, University of California, Berkeley, and Databricks; Ankur Dave, Daniel
More informationResilient Distributed Datasets
Resilient Distributed Datasets A Fault- Tolerant Abstraction for In- Memory Cluster Computing Matei Zaharia, Mosharaf Chowdhury, Tathagata Das, Ankur Dave, Justin Ma, Murphy McCauley, Michael Franklin,
More informationThe GraphX Graph Processing System
The GraphX Graph Processing System Daniel Crankshaw Ankur Dave Reynold S. Xin Joseph E. Gonzalez Michael J. Franklin Ion Stoica UC Berkeley AMPLab {crankshaw, ankurd, rxin, jegonzal, franklin, istoica@cs.berkeley.edu
More informationBig Data Infrastructures & Technologies
Big Data Infrastructures & Technologies Spark and MLLIB OVERVIEW OF SPARK What is Spark? Fast and expressive cluster computing system interoperable with Apache Hadoop Improves efficiency through: In-memory
More informationBig Graph Processing. Fenggang Wu Nov. 6, 2016
Big Graph Processing Fenggang Wu Nov. 6, 2016 Agenda Project Publication Organization Pregel SIGMOD 10 Google PowerGraph OSDI 12 CMU GraphX OSDI 14 UC Berkeley AMPLab PowerLyra EuroSys 15 Shanghai Jiao
More informationGraphX: Unifying Data-Parallel and Graph-Parallel Analytics
GraphX: Unifying Data-Parallel and Graph-Parallel Analytics Reynold S. Xin Daniel Crankshaw Ankur Dave Joseph E. Gonzalez Michael J. Franklin Ion Stoica UC Berkeley AMPLab {rxin, crankshaw, ankurd, jegonzal,
More informationBig Data Infrastructures & Technologies Hadoop Streaming Revisit.
Big Data Infrastructures & Technologies Hadoop Streaming Revisit ENRON Mapper ENRON Mapper Output (Excerpt) acomnes@enron.com blake.walker@enron.com edward.snowden@cia.gov alex.berenson@nyt.com ENRON Reducer
More informationAnalytic Cloud with. Shelly Garion. IBM Research -- Haifa IBM Corporation
Analytic Cloud with Shelly Garion IBM Research -- Haifa 2014 IBM Corporation Why Spark? Apache Spark is a fast and general open-source cluster computing engine for big data processing Speed: Spark is capable
More informationLecture 8, 4/22/2015. Scribed by Orren Karniol-Tambour, Hao Yi Ong, Swaroop Ramaswamy, and William Song.
CME 323: Distributed Algorithms and Optimization, Spring 2015 http://stanford.edu/~rezab/dao. Instructor: Reza Zadeh, Databricks and Stanford. Lecture 8, 4/22/2015. Scribed by Orren Karniol-Tambour, Hao
More informationSpark. In- Memory Cluster Computing for Iterative and Interactive Applications
Spark In- Memory Cluster Computing for Iterative and Interactive Applications Matei Zaharia, Mosharaf Chowdhury, Tathagata Das, Ankur Dave, Justin Ma, Murphy McCauley, Michael Franklin, Scott Shenker,
More informationCloud, Big Data & Linear Algebra
Cloud, Big Data & Linear Algebra Shelly Garion IBM Research -- Haifa 2014 IBM Corporation What is Big Data? 2 Global Data Volume in Exabytes What is Big Data? 2005 2012 2017 3 Global Data Volume in Exabytes
More informationCSE 444: Database Internals. Lecture 23 Spark
CSE 444: Database Internals Lecture 23 Spark References Spark is an open source system from Berkeley Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing. Matei
More informationSpark. In- Memory Cluster Computing for Iterative and Interactive Applications
Spark In- Memory Cluster Computing for Iterative and Interactive Applications Matei Zaharia, Mosharaf Chowdhury, Tathagata Das, Ankur Dave, Justin Ma, Murphy McCauley, Michael Franklin, Scott Shenker,
More informationMapReduce review. Spark and distributed data processing. Who am I? Today s Talk. Reynold Xin
Who am I? Reynold Xin Stanford CS347 Guest Lecture Spark and distributed data processing PMC member, Apache Spark Cofounder & Chief Architect, Databricks PhD on leave (ABD), UC Berkeley AMPLab Reynold
More informationAn Introduction to Apache Spark
An Introduction to Apache Spark 1 History Developed in 2009 at UC Berkeley AMPLab. Open sourced in 2010. Spark becomes one of the largest big-data projects with more 400 contributors in 50+ organizations
More informationTegra Time-evolving Graph Processing on Commodity Clusters
Tegra Time-evolving Graph Processing on ommodity lusters SIM SE 17 2 March 2017 nand Iyer Qifan Pu Joseph Gonzalez Ion Stoica 1 Graphs are everywhere Social Networks 2 Graphs are everywhere Gnutella network
More informationSpark and distributed data processing
Stanford CS347 Guest Lecture Spark and distributed data processing Reynold Xin @rxin 2016-05-23 Who am I? Reynold Xin PMC member, Apache Spark Cofounder & Chief Architect, Databricks PhD on leave (ABD),
More informationGraph-Based Parallel Computing. William Cohen
Graph-Based Parallel Computing William Cohen 1 Announcements Next Tuesday 12/8: Presentations for 10-805 projects. 15 minutes per project. Final written reports due Tues 12/15 2 Graph-Based Parallel Computing
More informationShark. Hive on Spark. Cliff Engle, Antonio Lupher, Reynold Xin, Matei Zaharia, Michael Franklin, Ion Stoica, Scott Shenker
Shark Hive on Spark Cliff Engle, Antonio Lupher, Reynold Xin, Matei Zaharia, Michael Franklin, Ion Stoica, Scott Shenker Agenda Intro to Spark Apache Hive Shark Shark s Improvements over Hive Demo Alpha
More informationSpark: A Brief History. https://stanford.edu/~rezab/sparkclass/slides/itas_workshop.pdf
Spark: A Brief History https://stanford.edu/~rezab/sparkclass/slides/itas_workshop.pdf A Brief History: 2004 MapReduce paper 2010 Spark paper 2002 2004 2006 2008 2010 2012 2014 2002 MapReduce @ Google
More informationDistributed Computing with Spark
Distributed Computing with Spark Reza Zadeh Thanks to Matei Zaharia Outline Data flow vs. traditional network programming Limitations of MapReduce Spark computing engine Numerical computing on Spark Ongoing
More informationGraph-Processing Systems. (focusing on GraphChi)
Graph-Processing Systems (focusing on GraphChi) Recall: PageRank in MapReduce (Hadoop) Input: adjacency matrix H D F S (a,[c]) (b,[a]) (c,[a,b]) (c,pr(a) / out (a)), (a,[c]) (a,pr(b) / out (b)), (b,[a])
More informationFast, Interactive, Language-Integrated Cluster Computing
Spark Fast, Interactive, Language-Integrated Cluster Computing Matei Zaharia, Mosharaf Chowdhury, Tathagata Das, Ankur Dave, Justin Ma, Murphy McCauley, Michael Franklin, Scott Shenker, Ion Stoica www.spark-project.org
More informationToday s content. Resilient Distributed Datasets(RDDs) Spark and its data model
Today s content Resilient Distributed Datasets(RDDs) ------ Spark and its data model Resilient Distributed Datasets: A Fault- Tolerant Abstraction for In-Memory Cluster Computing -- Spark By Matei Zaharia,
More informationLambda Architecture with Apache Spark
Lambda Architecture with Apache Spark Michael Hausenblas, Chief Data Engineer MapR First Galway Data Meetup, 2015-02-03 2015 MapR Technologies 2015 MapR Technologies 1 Polyglot Processing 2015 2014 MapR
More informationSpark & Spark SQL. High- Speed In- Memory Analytics over Hadoop and Hive Data. Instructor: Duen Horng (Polo) Chau
CSE 6242 / CX 4242 Data and Visual Analytics Georgia Tech Spark & Spark SQL High- Speed In- Memory Analytics over Hadoop and Hive Data Instructor: Duen Horng (Polo) Chau Slides adopted from Matei Zaharia
More informationSpark. Cluster Computing with Working Sets. Matei Zaharia, Mosharaf Chowdhury, Michael Franklin, Scott Shenker, Ion Stoica.
Spark Cluster Computing with Working Sets Matei Zaharia, Mosharaf Chowdhury, Michael Franklin, Scott Shenker, Ion Stoica UC Berkeley Background MapReduce and Dryad raised level of abstraction in cluster
More informationApache Spark. CS240A T Yang. Some of them are based on P. Wendell s Spark slides
Apache Spark CS240A T Yang Some of them are based on P. Wendell s Spark slides Parallel Processing using Spark+Hadoop Hadoop: Distributed file system that connects machines. Mapreduce: parallel programming
More information2/4/2019 Week 3- A Sangmi Lee Pallickara
Week 3-A-0 2/4/2019 Colorado State University, Spring 2019 Week 3-A-1 CS535 BIG DATA FAQs PART A. BIG DATA TECHNOLOGY 3. DISTRIBUTED COMPUTING MODELS FOR SCALABLE BATCH COMPUTING SECTION 1: MAPREDUCE PA1
More informationSCALABLE, LOW LATENCY MODEL SERVING AND MANAGEMENT WITH VELOX
THE MISSING PIECE IN COMPLEX ANALYTICS: SCALABLE, LOW LATENCY MODEL SERVING AND MANAGEMENT WITH VELOX Daniel Crankshaw, Peter Bailis, Joseph Gonzalez, Haoyuan Li, Zhao Zhang, Ali Ghodsi, Michael Franklin,
More informationCS 347 Parallel and Distributed Data Processing
CS 347 Parallel and Distributed Data Processing Spring 2016 Notes 14: Distributed Graph Processing Motivation Many applications require graph processing E.g., PageRank Some graph data sets are very large
More informationGridGraph: Large-Scale Graph Processing on a Single Machine Using 2-Level Hierarchical Partitioning. Xiaowei ZHU Tsinghua University
GridGraph: Large-Scale Graph Processing on a Single Machine Using -Level Hierarchical Partitioning Xiaowei ZHU Tsinghua University Widely-Used Graph Processing Shared memory Single-node & in-memory Ligra,
More informationCS 347 Parallel and Distributed Data Processing
CS 347 Parallel and Distributed Data Processing Spring 2016 Notes 14: Distributed Graph Processing Motivation Many applications require graph processing E.g., PageRank Some graph data sets are very large
More informationRESILIENT DISTRIBUTED DATASETS: A FAULT-TOLERANT ABSTRACTION FOR IN-MEMORY CLUSTER COMPUTING
RESILIENT DISTRIBUTED DATASETS: A FAULT-TOLERANT ABSTRACTION FOR IN-MEMORY CLUSTER COMPUTING Matei Zaharia, Mosharaf Chowdhury, Tathagata Das, Ankur Dave, Justin Ma, Murphy McCauley, Michael J. Franklin,
More informationIntroduction to Apache Spark. Patrick Wendell - Databricks
Introduction to Apache Spark Patrick Wendell - Databricks What is Spark? Fast and Expressive Cluster Computing Engine Compatible with Apache Hadoop Efficient General execution graphs In-memory storage
More informationResearch challenges in data-intensive computing The Stratosphere Project Apache Flink
Research challenges in data-intensive computing The Stratosphere Project Apache Flink Seif Haridi KTH/SICS haridi@kth.se e2e-clouds.org Presented by: Seif Haridi May 2014 Research Areas Data-intensive
More informationAnalyzing Flight Data
IBM Analytics Analyzing Flight Data Jeff Carlson Rich Tarro July 21, 2016 2016 IBM Corporation Agenda Spark Overview a quick review Introduction to Graph Processing and Spark GraphX GraphX Overview Demo
More informationSummary of Big Data Frameworks Course 2015 Professor Sasu Tarkoma
Summary of Big Data Frameworks Course 2015 Professor Sasu Tarkoma www.cs.helsinki.fi Course Schedule Tuesday 10.3. Introduction and the Big Data Challenge Tuesday 17.3. MapReduce and Spark: Overview Tuesday
More informationNew Developments in Spark
New Developments in Spark And Rethinking APIs for Big Data Matei Zaharia and many others What is Spark? Unified computing engine for big data apps > Batch, streaming and interactive Collection of high-level
More informationCS Spark. Slides from Matei Zaharia and Databricks
CS 5450 Spark Slides from Matei Zaharia and Databricks Goals uextend the MapReduce model to better support two common classes of analytics apps Iterative algorithms (machine learning, graphs) Interactive
More informationMLBase, MLLib and GraphX
MLBase, MLLib and GraphX 2015 Professor Sasu Tarkoma www.cs.helsinki.fi MLBase and MLlib: Vision Same system for Exploring data interactively using Spark Spark standalone programs Spark streaming for problems
More informationDell In-Memory Appliance for Cloudera Enterprise
Dell In-Memory Appliance for Cloudera Enterprise Spark Technology Overview and Streaming Workload Use Cases Author: Armando Acosta Hadoop Product Manager/Subject Matter Expert Armando_Acosta@Dell.com/
More informationClash of the Titans: MapReduce vs. Spark for Large Scale Data Analytics
Clash of the Titans: MapReduce vs. Spark for Large Scale Data Analytics Presented by: Dishant Mittal Authors: Juwei Shi, Yunjie Qiu, Umar Firooq Minhas, Lemei Jiao, Chen Wang, Berthold Reinwald and Fatma
More informationAn Introduction to Apache Spark
An Introduction to Apache Spark Anastasios Skarlatidis @anskarl Software Engineer/Researcher IIT, NCSR "Demokritos" Outline Part I: Getting to know Spark Part II: Basic programming Part III: Spark under
More informationBig Data Analytics. Map-Reduce and Spark. Slides by: Joseph E. Gonzalez Guest Lecturer: Vikram Sreekanti
Big Data Analytics Map-Reduce and Spark Slides by: Joseph E. Gonzalez jegonzal@cs.berkeley.edu? Guest Lecturer: Vikram Sreekanti From SQL to Big Data (with SQL) Ø A few weeks ago Ø Databases Ø (Relational)
More informationDistributed Computing with Spark and MapReduce
Distributed Computing with Spark and MapReduce Reza Zadeh @Reza_Zadeh http://reza-zadeh.com Traditional Network Programming Message-passing between nodes (e.g. MPI) Very difficult to do at scale:» How
More informationIntegration of Machine Learning Library in Apache Apex
Integration of Machine Learning Library in Apache Apex Anurag Wagh, Krushika Tapedia, Harsh Pathak Vishwakarma Institute of Information Technology, Pune, India Abstract- Machine Learning is a type of artificial
More informationChapter 4: Apache Spark
Chapter 4: Apache Spark Lecture Notes Winter semester 2016 / 2017 Ludwig-Maximilians-University Munich PD Dr. Matthias Renz 2015, Based on lectures by Donald Kossmann (ETH Zürich), as well as Jure Leskovec,
More informationMapReduce Spark. Some slides are adapted from those of Jeff Dean and Matei Zaharia
MapReduce Spark Some slides are adapted from those of Jeff Dean and Matei Zaharia What have we learnt so far? Distributed storage systems consistency semantics protocols for fault tolerance Paxos, Raft,
More informationEvolution From Shark To Spark SQL:
Evolution From Shark To Spark SQL: Preliminary Analysis and Qualitative Evaluation Xinhui Tian and Xiexuan Zhou Institute of Computing Technology, Chinese Academy of Sciences and University of Chinese
More informationDistributed Graph Algorithms
Distributed Graph Algorithms Alessio Guerrieri University of Trento, Italy 2016/04/26 This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Contents 1 Introduction
More informationApache Spark is a fast and general-purpose engine for large-scale data processing Spark aims at achieving the following goals in the Big data context
1 Apache Spark is a fast and general-purpose engine for large-scale data processing Spark aims at achieving the following goals in the Big data context Generality: diverse workloads, operators, job sizes
More informationApache Spark 2.0. Matei
Apache Spark 2.0 Matei Zaharia @matei_zaharia What is Apache Spark? Open source data processing engine for clusters Generalizes MapReduce model Rich set of APIs and libraries In Scala, Java, Python and
More informationAnalytics in Spark. Yanlei Diao Tim Hunter. Slides Courtesy of Ion Stoica, Matei Zaharia and Brooke Wenig
Analytics in Spark Yanlei Diao Tim Hunter Slides Courtesy of Ion Stoica, Matei Zaharia and Brooke Wenig Outline 1. A brief history of Big Data and Spark 2. Technical summary of Spark 3. Unified analytics
More informationMassive Online Analysis - Storm,Spark
Massive Online Analysis - Storm,Spark presentation by R. Kishore Kumar Research Scholar Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur Kharagpur-721302, India (R
More informationSpark Overview. Professor Sasu Tarkoma.
Spark Overview 2015 Professor Sasu Tarkoma www.cs.helsinki.fi Apache Spark Spark is a general-purpose computing framework for iterative tasks API is provided for Java, Scala and Python The model is based
More informationData at the Speed of your Users
Data at the Speed of your Users Apache Cassandra and Spark for simple, distributed, near real-time stream processing. GOTO Copenhagen 2014 Rustam Aliyev Solution Architect at. @rstml Big Data? Photo: Flickr
More informationL3: Spark & RDD. CDS Department of Computational and Data Sciences. Department of Computational and Data Sciences
Indian Institute of Science Bangalore, India भ रत य व ज ञ न स स थ न ब गल र, भ रत Department of Computational and Data Sciences L3: Spark & RDD Department of Computational and Data Science, IISc, 2016 This
More informationCluster Computing Architecture. Intel Labs
Intel Labs Legal Notices INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED
More informationSpark 2. Alexey Zinovyev, Java/BigData Trainer in EPAM
Spark 2 Alexey Zinovyev, Java/BigData Trainer in EPAM With IT since 2007 With Java since 2009 With Hadoop since 2012 With EPAM since 2015 About Secret Word from EPAM itsubbotnik Big Data Training 3 Contacts
More informationApache Giraph. for applications in Machine Learning & Recommendation Systems. Maria Novartis
Apache Giraph for applications in Machine Learning & Recommendation Systems Maria Stylianou @marsty5 Novartis Züri Machine Learning Meetup #5 June 16, 2014 Apache Giraph for applications in Machine Learning
More informationMapReduce, Hadoop and Spark. Bompotas Agorakis
MapReduce, Hadoop and Spark Bompotas Agorakis Big Data Processing Most of the computations are conceptually straightforward on a single machine but the volume of data is HUGE Need to use many (1.000s)
More informationCS435 Introduction to Big Data FALL 2018 Colorado State University. 10/22/2018 Week 10-A Sangmi Lee Pallickara. FAQs.
10/22/2018 - FALL 2018 W10.A.0.0 10/22/2018 - FALL 2018 W10.A.1 FAQs Term project: Proposal 5:00PM October 23, 2018 PART 1. LARGE SCALE DATA ANALYTICS IN-MEMORY CLUSTER COMPUTING Computer Science, Colorado
More informationIntroduction to MapReduce Algorithms and Analysis
Introduction to MapReduce Algorithms and Analysis Jeff M. Phillips October 25, 2013 Trade-Offs Massive parallelism that is very easy to program. Cheaper than HPC style (uses top of the line everything)
More informationa Spark in the cloud iterative and interactive cluster computing
a Spark in the cloud iterative and interactive cluster computing Matei Zaharia, Mosharaf Chowdhury, Michael Franklin, Scott Shenker, Ion Stoica UC Berkeley Background MapReduce and Dryad raised level of
More informationThrill : High-Performance Algorithmic
Thrill : High-Performance Algorithmic Distributed Batch Data Processing in C++ Timo Bingmann, Michael Axtmann, Peter Sanders, Sebastian Schlag, and 6 Students 2016-12-06 INSTITUTE OF THEORETICAL INFORMATICS
More informationProgramming Models and Tools for Distributed Graph Processing
Programming Models and Tools for Distributed Graph Processing Vasia Kalavri kalavriv@inf.ethz.ch 31st British International Conference on Databases 10 July 2017, London, UK ABOUT ME Postdoctoral Fellow
More informationProgramming Systems for Big Data
Programming Systems for Big Data CS315B Lecture 17 Including material from Kunle Olukotun Prof. Aiken CS 315B Lecture 17 1 Big Data We ve focused on parallel programming for computational science There
More informationDATA SCIENCE USING SPARK: AN INTRODUCTION
DATA SCIENCE USING SPARK: AN INTRODUCTION TOPICS COVERED Introduction to Spark Getting Started with Spark Programming in Spark Data Science with Spark What next? 2 DATA SCIENCE PROCESS Exploratory Data
More informationGraph Processing. Connor Gramazio Spiros Boosalis
Graph Processing Connor Gramazio Spiros Boosalis Pregel why not MapReduce? semantics: awkward to write graph algorithms efficiency: mapreduces serializes state (e.g. all nodes and edges) while pregel keeps
More informationBSP, Pregel and the need for Graph Processing
BSP, Pregel and the need for Graph Processing Patrizio Dazzi, HPC Lab ISTI - CNR mail: patrizio.dazzi@isti.cnr.it web: http://hpc.isti.cnr.it/~dazzi/ National Research Council of Italy A need for Graph
More informationGraph-Parallel Problems. ML in the Context of Parallel Architectures
Case Study 4: Collaborative Filtering Graph-Parallel Problems Synchronous v. Asynchronous Computation Machine Learning for Big Data CSE547/STAT548, University of Washington Emily Fox February 20 th, 2014
More informationMLlib and Distributing the " Singular Value Decomposition. Reza Zadeh
MLlib and Distributing the " Singular Value Decomposition Reza Zadeh Outline Example Invocations Benefits of Iterations Singular Value Decomposition All-pairs Similarity Computation MLlib + {Streaming,
More informationData-Intensive Distributed Computing
Data-Intensive Distributed Computing CS 451/651 431/631 (Winter 2018) Part 8: Analyzing Graphs, Redux (1/2) March 20, 2018 Jimmy Lin David R. Cheriton School of Computer Science University of Waterloo
More informationShark: SQL and Rich Analytics at Scale. Michael Xueyuan Han Ronny Hajoon Ko
Shark: SQL and Rich Analytics at Scale Michael Xueyuan Han Ronny Hajoon Ko What Are The Problems? Data volumes are expanding dramatically Why Is It Hard? Needs to scale out Managing hundreds of machines
More informationDistributed Machine Learning" on Spark
Distributed Machine Learning" on Spark Reza Zadeh @Reza_Zadeh http://reza-zadeh.com Outline Data flow vs. traditional network programming Spark computing engine Optimization Example Matrix Computations
More informationData-intensive computing systems
Data-intensive computing systems University of Verona Computer Science Department Damiano Carra Acknowledgements q Credits Part of the course material is based on slides provided by the following authors
More informationSpark, Shark and Spark Streaming Introduction
Spark, Shark and Spark Streaming Introduction Tushar Kale tusharkale@in.ibm.com June 2015 This Talk Introduction to Shark, Spark and Spark Streaming Architecture Deployment Methodology Performance References
More informationBatch & Stream Graph Processing with Apache Flink. Vasia
Batch & Stream Graph Processing with Apache Flink Vasia Kalavri vasia@apache.org @vkalavri Outline Distributed Graph Processing Gelly: Batch Graph Processing with Flink Gelly-Stream: Continuous Graph
More informationA Framework for Processing Large Graphs in Shared Memory
A Framework for Processing Large Graphs in Shared Memory Julian Shun Based on joint work with Guy Blelloch and Laxman Dhulipala (Work done at Carnegie Mellon University) 2 What are graphs? Vertex Edge
More informationCase Study 4: Collaborative Filtering. GraphLab
Case Study 4: Collaborative Filtering GraphLab Machine Learning/Statistics for Big Data CSE599C1/STAT592, University of Washington Carlos Guestrin March 14 th, 2013 Carlos Guestrin 2013 1 Social Media
More informationI ++ Mapreduce: Incremental Mapreduce for Mining the Big Data
IOSR Journal of Computer Engineering (IOSR-JCE) e-issn: 2278-0661,p-ISSN: 2278-8727, Volume 18, Issue 3, Ver. IV (May-Jun. 2016), PP 125-129 www.iosrjournals.org I ++ Mapreduce: Incremental Mapreduce for
More information15-388/688 - Practical Data Science: Big data and MapReduce. J. Zico Kolter Carnegie Mellon University Spring 2018
15-388/688 - Practical Data Science: Big data and MapReduce J. Zico Kolter Carnegie Mellon University Spring 2018 1 Outline Big data Some context in distributed computing map + reduce MapReduce MapReduce
More informationShark: Hive (SQL) on Spark
Shark: Hive (SQL) on Spark Reynold Xin UC Berkeley AMP Camp Aug 21, 2012 UC BERKELEY SELECT page_name, SUM(page_views) views FROM wikistats GROUP BY page_name ORDER BY views DESC LIMIT 10; Stage 0: Map-Shuffle-Reduce
More informationJure Leskovec Including joint work with Y. Perez, R. Sosič, A. Banarjee, M. Raison, R. Puttagunta, P. Shah
Jure Leskovec (@jure) Including joint work with Y. Perez, R. Sosič, A. Banarjee, M. Raison, R. Puttagunta, P. Shah 2 My research group at Stanford: Mining and modeling large social and information networks
More information2/26/2017. Originally developed at the University of California - Berkeley's AMPLab
Apache is a fast and general engine for large-scale data processing aims at achieving the following goals in the Big data context Generality: diverse workloads, operators, job sizes Low latency: sub-second
More informationGraphChi: Large-Scale Graph Computation on Just a PC
OSDI 12 GraphChi: Large-Scale Graph Computation on Just a PC Aapo Kyrölä (CMU) Guy Blelloch (CMU) Carlos Guestrin (UW) In co- opera+on with the GraphLab team. BigData with Structure: BigGraph social graph
More informationDeep Learning Comes of Age. Presenter: 齐琦 海南大学
Deep Learning Comes of Age Presenter: 齐琦 海南大学 原文引用 Anthes, G. (2013). "Deep learning comes of age." Commun. ACM 56(6): 13-15. AI/Machine learning s new technology deep learning --- multilayer artificial
More informationDatabase Systems CSE 414
Database Systems CSE 414 Lecture 26: Spark CSE 414 - Spring 2017 1 HW8 due next Fri Announcements Extra office hours today: Rajiv @ 6pm in CSE 220 No lecture Monday (holiday) Guest lecture Wednesday Kris
More informationApplied Spark. From Concepts to Bitcoin Analytics. Andrew F.
Applied Spark From Concepts to Bitcoin Analytics Andrew F. Hart ahart@apache.org @andrewfhart My Day Job CTO, Pogoseat Upgrade technology for live events 3/28/16 QCON-SP Andrew Hart 2 Additionally Member,
More informationProcessing of big data with Apache Spark
Processing of big data with Apache Spark JavaSkop 18 Aleksandar Donevski AGENDA What is Apache Spark? Spark vs Hadoop MapReduce Application Requirements Example Architecture Application Challenges 2 WHAT
More informationLightning Fast Cluster Computing. Michael Armbrust Reflections Projections 2015 Michast
Lightning Fast Cluster Computing Michael Armbrust - @michaelarmbrust Reflections Projections 2015 Michast What is Apache? 2 What is Apache? Fast and general computing engine for clusters created by students
More informationBig data systems 12/8/17
Big data systems 12/8/17 Today Basic architecture Two levels of scheduling Spark overview Basic architecture Cluster Manager Cluster Cluster Manager 64GB RAM 32 cores 64GB RAM 32 cores 64GB RAM 32 cores
More informationShark: SQL and Rich Analytics at Scale. Reynold Xin UC Berkeley
Shark: SQL and Rich Analytics at Scale Reynold Xin UC Berkeley Challenges in Modern Data Analysis Data volumes expanding. Faults and stragglers complicate parallel database design. Complexity of analysis:
More informationUnifying Big Data Workloads in Apache Spark
Unifying Big Data Workloads in Apache Spark Hossein Falaki @mhfalaki Outline What s Apache Spark Why Unification Evolution of Unification Apache Spark + Databricks Q & A What s Apache Spark What is Apache
More information/ Cloud Computing. Recitation 13 April 14 th 2015
15-319 / 15-619 Cloud Computing Recitation 13 April 14 th 2015 Overview Last week s reflection Project 4.1 Budget issues Tagging, 15619Project This week s schedule Unit 5 - Modules 18 Project 4.2 Demo
More information