- An undersanding of Java programming and frameworks
- A general understanding of Python is helpful but not required
- A general understanding of database concepts
Audience
- Developers
Many real world problems can be described in terms of graphs. For example, the Web graph, the social network graph, the train network graph and the language graph. These graphs tend to be extremely large; processing them requires a specialized set of tools and processes -- these tools and processes can be referred to as Graph Computing (also known as Graph Analytics).
In this instructor-led, live training, participants will learn about the technology offerings and implementation approaches for processing graph data. The aim is to identify real-world objects, their characteristics and relationships, then model these relationships and process them as data using a Graph Computing (also known as Graph Analytics and Distributed Graph Processing) approach. We start with a broad overview and narrow in on specific tools as we step through a series of case studies, hands-on exercises and live deployments.
By the end of this training, participants will be able to:
- Understand how graph data is persisted and traversed.
- Select the best framework for a given task (from graph databases to batch processing frameworks.)
- Implement Hadoop, Spark, GraphX and Pregel to carry out graph computing across many machines in parallel.
- View real-world big data problems in terms of graphs, processes and traversals.
Format of the course
- Part lecture, part discussion, exercises and heavy hands-on practice
Introduction
- Graph databases and libraries
Understanding Graph Data
- The graph as a data structure
- Using vertices (dots) and edges (lines) to model real-world scenarios
Using Graph Databases to Model, Persist and Process Graph Data
- Local graph algorithms/traversals
- neo4j, OrientDB and Titan
Exercise: Modeling Graph Data with neo4j
- Whiteboard data modeling
Beyond Graph Databases: Graph Computing
- Understanding the property graph
- Graph modeling different scenarios (software graph, discussion graph, concept graph)
Solving Real-World Problems with Traversals
- Algorithmic/directed walk over the graph
- Determining circular cependencies
Case Study: Ranking Discussion Contributors
- Ranking by number and depth of contributed discussions
- A note on sentiment and concept analysis
Graph Computing: Local, In-Memory Graph toolkits
- Graph analysis and visualization
- JUNG, NetworkX, and iGraph
Exercise: Modeling Graph Data with NetworkX
- Using NetworkX to model a complex system
Graph Computing: Batch Processing Graph Frameworks
- Leveraging Hadoop for storage (HDFS) and processing (MapReduce)
- Overview of iterative algorithms
- Hama, Giraph, and GraphLab
Graph Computing: Graph-Parallel Computation
- Unifying ETL, exploratory analysis, and iterative graph computation within a single system
- GraphX
Setup and Installation
- Hadoop and Spark
GraphX Operators
- Property, structural, join, neighborhood aggregation, caching and uncaching
Iterating with Pregel API
- Passing arguments for sending, receiving and computing
Building a Graph
- Using vertices and edges in an RDD or on disk
Designing Scalable Algorithms
- GraphX Optimization
Accessing Additional Algorithms
- PageRank, Connected Components, Triangle Counting
Exercis: Page Rank and Top Users
- Building and processing graph data using text files as input
Deploying to Production
Closing Remarks
United Arab Emirates - Introduction to Graph Computing
Qatar - Introduction to Graph Computing
Egypt - Introduction to Graph Computing
Saudi Arabia - Introduction to Graph Computing
South Africa - Introduction to Graph Computing
Brasil - Introduction to Graph Computing
Canada - Introduction to Graph Computing
香港 - Introduction to Graph Computing
澳門 - Introduction to Graph Computing
台灣 - Introduction to Graph Computing
USA - Introduction to Graph Computing
Österreich - Introduction to Graph Computing
Schweiz - Introduction to Graph Computing
Deutschland - Introduction to Graph Computing
Czech Republic - Introduction to Graph Computing
Denmark - Introduction to Graph Computing
Estonia - Introduction to Graph Computing
Finland - Introduction to Graph Computing
Greece - Introduction to Graph Computing
Magyarország - Introduction to Graph Computing
Ireland - Introduction to Graph Computing
Luxembourg - Introduction to Graph Computing
Latvia - Introduction to Graph Computing
España - Introducción a Graph Computing
Italia - Introduction to Graph Computing
Lithuania - Introduction to Graph Computing
Nederland - Introduction to Graph Computing
Norway - Introduction to Graph Computing
Portugal - Introduction to Graph Computing
România - Introduction to Graph Computing
Sverige - Introduction to Graph Computing
Türkiye - Introduction to Graph Computing
Malta - Introduction to Graph Computing
Belgique - Introduction to Graph Computing
France - Introduction to Graph Computing
日本 - Introduction to Graph Computing
Australia - Introduction to Graph Computing
Malaysia - Introduction to Graph Computing
New Zealand - Introduction to Graph Computing
Philippines - Introduction to Graph Computing
Singapore - Introduction to Graph Computing
Thailand - Introduction to Graph Computing
Vietnam - Introduction to Graph Computing
India - Introduction to Graph Computing
Argentina - Introducción a Graph Computing
Chile - Introducción a Graph Computing
Costa Rica - Introducción a Graph Computing
Ecuador - Introducción a Graph Computing
Guatemala - Introducción a Graph Computing
Colombia - Introducción a Graph Computing
México - Introducción a Graph Computing
Panama - Introducción a Graph Computing
Peru - Introducción a Graph Computing
Uruguay - Introducción a Graph Computing
Venezuela - Introducción a Graph Computing
Polska - Introduction to Graph Computing
United Kingdom - Introduction to Graph Computing
South Korea - Introduction to Graph Computing
Pakistan - Introduction to Graph Computing
Sri Lanka - Introduction to Graph Computing
Bulgaria - Introduction to Graph Computing
Bolivia - Introducción a Graph Computing
Indonesia - Introduction to Graph Computing
Kazakhstan - Introduction to Graph Computing
Moldova - Introduction to Graph Computing
Morocco - Introduction to Graph Computing
Tunisia - Introduction to Graph Computing
Kuwait - Introduction to Graph Computing
Oman - Introduction to Graph Computing
Slovakia - Introduction to Graph Computing
Kenya - Introduction to Graph Computing
Nigeria - Introduction to Graph Computing
Botswana - Introduction to Graph Computing
Slovenia - Introduction to Graph Computing
Croatia - Introduction to Graph Computing
Serbia - Introduction to Graph Computing
Bhutan - Introduction to Graph Computing