Visão Geral
Curso Introduction to Graph Computing, Muitos problemas do mundo real podem ser descritos em termos de gráficos. Por exemplo, o grafo da Web, o grafo da rede social, o grafo da rede ferroviária e o grafo da linguagem. Esses gráficos tendem a ser extremamente grandes; processá-los requer um conjunto especializado de ferramentas e processos -- essas ferramentas e processos podem ser referidos como Graph Computing (também conhecido como Graph Analytics).
Neste Curso Introduction to Graph Computing on-line ao vivo conduzido via Microsoft Teams, por instrutor, os participantes aprenderão sobre as ofertas de tecnologia e as abordagens de implementação para o processamento de dados gráficos. O objetivo é identificar objetos do mundo real, suas características e relacionamentos, então modelar esses relacionamentos e processá-los como dados usando uma abordagem de Graph Computing (também conhecida como Graph Analytics e Distributed Graph Processing). Começamos com uma visão geral ampla e nos concentramos em ferramentas específicas à medida que passamos por uma série de estudos de caso, exercícios práticos e implementações ao vivo.
Conteúdo Programatico
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