This book takes its reader on a journey through Apache Giraph, a popular distributed graph processing platform designed to bring the power of big data processing to graph data. Designed as a step-by-step self-study guide for everyone interested in large-scale graph processing, it describes the fundamental abstractions of the system, its programming models and various techniques for using the system to process graph data at scale, including the implementation of several popular and advanced graph analytics algorithms.
The book is organized as follows: Chapter 1 starts by providing a general background of the big data phenomenon and a general introduction to the Apache Giraph system, its abstraction, programming model and design architecture. Next, chapter 2 focuses on Giraph as a platform and how to use it. Based on a sample job, even more advanced topics like monitoring the Giraph application lifecycle and different methods for monitoring Giraph jobs are explained. Chapter 3 then provides an introduction to Giraph programming, introduces the basic Giraph graph model and explains how to write Giraph programs. In turn, Chapter 4 discusses in detail the implementation of some popular graph algorithms including Page Rank, connected components, shortest paths and triangle closing. Chapter 5 focuses on advanced Giraph programming, discussing common Giraph algorithmic optimizations, tunable Giraph configurations that determine the system’s utilization of the underlying resources, and how to write a custom graph input and output format. Lastly, chapter 6 highlights two systems that have been introduced to tackle the challenge of large scale graph processing, Graph X and Graph Lab, and explains the main commonalities and differences between these systems and Apache Giraph.
This book serves as an essential reference guide for students, researchers and practitioners in the domain of large scale graph processing. It offers step-by-step guidance, with several code examples and the complete source code available in the related github repository. Students will find a comprehensive introduction to and hands-on practice with tackling large scale graph processing problems using the Apache Giraph system, while researchers will discover thorough coverage of the emerging and ongoing advancements in big graph processing systems.
قائمة المحتويات
1. Introduction.- 2. Getting started with Giraph.- 3. Giraph-In-Action: Implementing Popular Graph Algorithms using Giraph.- 4. Giraph Programming Optimizations: Tips and Tricks.- 5. Similar Systems to Giraph.- 6. Conclusions.
عن المؤلف
Sherif Sakr is currently a professor of computer and information science in the Health Informatics department at King Saud bin Abdulaziz University for Health Sciences. He is also affiliated with the University of New South Wales and DATA61/CSIRO (formerly NICTA). He had held visiting appointments in several academic and research institutes including Microsoft Research (2011), Alcatel-Lucent Bell Labs (2012), Humboldt University of Berlin (2015), University of Zurich (2016) and TU Dresden (2016). In 2013, Sherif has been awarded the Stanford Innovation and Entrepreneurship Certificate.
Faisal Moeen Orakzai is a joint Ph D candidate at Université Libre de Bruxelles (ULB) Belgium and Aalborg University (AAU) Denmark. In addition to doing research, he works as a consultant and helps companies setting up their distributed data processing architectures and pipelines. He is a Big Data management and analytics enthusiast and currently working on a Giraph based framework for spatio-temporal pattern mining.
Ibrahim Abdelaziz is a Computer Science Ph D candidate at King Abdullah University of Science and Technology (KAUST). Prior to joining KAUST, he used to work on pattern recognition and information retrieval in several research organizations in Egypt. His current research interests are Data Mining over large scale graphs, Distributed Systems and Machine Learning.
Zuhair Khayyat is a Ph D candidate in the Info Cloud group at King Abdullah University of Science and Technology (KAUST) focusing on Big Data, Analytics and Graphs.