Build, process and analyze large-scale graph data effectively with Spark
About This Book
- Find solutions for every stage of data processing from loading and transforming graph data to
- Improve the scalability of your graphs with a variety of real-world applications with complete Scala code.
- A concise guide to processing large-scale networks with Apache Spark.
Who This Book Is For
This book is for data scientists and big data developers who want to learn the processing and analyzing graph datasets at scale. Basic programming experience with Scala is assumed. Basic knowledge of Spark is assumed.
What You Will Learn
- Write, build and deploy Spark applications with the Scala Build Tool.
- Build and analyze large-scale network datasets
- Analyze and transform graphs using RDD and graph-specific operations
- Implement new custom graph operations tailored to specific needs.
- Develop iterative and efficient graph algorithms using message aggregation and Pregel abstraction
- Extract subgraphs and use it to discover common clusters
- Analyze graph data and solve various data science problems using real-world datasets.
Apache Spark is the next standard of open-source cluster-computing engine for processing big data. Many practical computing problems concern large graphs, like the Web graph and various social networks. The scale of these graphs - in some cases billions of vertices, trillions of edges - poses challenges to their efficient processing. Apache Spark GraphX API combines the advantages of both data-parallel and graph-parallel systems by efficiently expressing graph computation within the Spark data-parallel framework.
This book will teach the user to do graphical programming in Apache Spark, apart from an explanation of the entire process of graphical data analysis. You will journey through the creation of graphs, its uses, its exploration and analysis and finally will also cover the conversion of graph elements into graph structures.
This book begins with an introduction of the Spark system, its libraries and the Scala Build Tool. Using a hands-on approach, this book will quickly teach you how to install and leverage Spark interactively on the command line and in a standalone Scala program. Then, it presents all the methods for building Spark graphs using illustrative network datasets. Next, it will walk you through the process of exploring, visualizing and analyzing different network characteristics. This book will also teach you how to transform raw datasets into a usable form. In addition, you will learn powerful operations that can be used to transform graph elements and graph structures. Furthermore, this book also teaches how to create custom graph operations that are tailored for specific needs with efficiency in mind. The later chapters of this book cover more advanced topics such as clustering graphs, implementing graph-parallel iterative algorithms and learning methods from graph data.
Style and approach
A step-by-step guide that will walk you through the key ideas and techniques for processing big graph data at scale, with practical examples that will ensure an overall understanding of the concepts of Spark.
Table of contents
Apache Spark Graph Processing
- Table of Contents
- Apache Spark Graph Processing
- About the Author
- About the Reviewer
1. Getting Started with Spark and GraphX
- Downloading and installing Spark 1.4.1
- Experimenting with the Spark shell
Getting started with GraphX
- Building a tiny social network
- Building and submitting a standalone application
2. Building and Exploring Graphs
- Network datasets
- Graph builders
- Building graphs
- Computing the degrees of the network nodes
3. Graph Analysis and Visualization
- Network datasets
- The graph visualization
- The analysis of network connectedness
- The network centrality and PageRank
Scala Build Tool revisited
- Organizing build definitions
- Managing library dependencies
4. Transforming and Shaping Up Graphs to Your Needs
- Transforming the vertex and edge attributes
- Modifying graph structures
- Joining graph datasets
- Data operations on VertexRDD and EdgeRDD
5. Creating Custom Graph Aggregation Operators
- NCAA College Basketball datasets
- The aggregateMessages operator
- Joining average stats into a graph
- Performance optimization
- The MapReduceTriplets operator
- 6. Iterative Graph-Parallel Processing with Pregel
7. Learning Graph Structures
- Community clustering in graphs
- Applications – music fan community detection
- A. References
- Title: Apache Spark Graph Processing
- Release date: September 2015
- Publisher(s): Packt Publishing
- ISBN: 9781784391805
You might also like
Advanced Analytics with Spark, 2nd Edition
In the second edition of this practical book, four Cloudera data scientists present a set of …
Learn how graph algorithms can help you leverage relationships within your data to develop intelligent solutions …
Mastering Hadoop 3
A comprehensive guide to mastering the most advanced Hadoop 3 concepts Key Features Get to grips …
Spark GraphX in Action
Summary Spark GraphX in Action starts out with an overview of Apache Spark and the GraphX …