# GraphX编程指南
GraphX是一个新的(alpha)Spark API,它用于图和并行图(graph-parallel)的计算。GraphX通过引入[Resilient Distributed Property Graph](property-graph.md):带有
顶点和边属性的有向多重图,来扩展Spark RDD。为了支持图计算,GraphX公开一组基本的功能操作以及Pregel API的一个优化。另外,GraphX包含了一个日益增长的图算法和图builders的
集合,用以简化图分析任务。
从社交网络到语言建模,不断增长的规模和图形数据的重要性已经推动了许多新的`graph-parallel`系统(如[Giraph](http://giraph.apache.org/)和[GraphLab](http://graphlab.org/))的发展。
通过限制可表达的计算类型和引入新的技术来划分和分配图,这些系统可以高效地执行复杂的图形算法,比一般的`data-parallel`系统快很多。
![data parallel vs graph parallel](https://img.kancloud.cn/0e/d2/0ed22bf960c321078d751644fd728d94_1250x744.png)
然而,通过这种限制可以提高性能,但是很难表示典型的图分析途径(构造图、修改它的结构或者表示跨多个图的计算)中很多重要的stages。另外,我们如何看待数据取决于我们的目标,并且同一原始数据可能有许多不同表和图的视图。
![表和图](https://img.kancloud.cn/23/3e/233e72833135efd32da404b74741a22c_1229x751.png)
结论是,图和表之间经常需要能够相互移动。然而,现有的图分析管道必须组成`graph-parallel`和`data- parallel`系统`,从而实现大数据的迁移和复制并生成一个复杂的编程模型。
![图分析路径](https://img.kancloud.cn/9b/d8/9bd89ff42c8e3834f8309e356e2c597b_1190x788.png)
GraphX项目的目的就是将`graph-parallel`和`data-parallel`统一到一个系统中,这个系统拥有一个唯一的组合API。GraphX允许用户将数据当做一个图和一个集合(RDD),而不需要
而不需要数据移动或者复杂。通过将最新的进展整合进`graph-parallel`系统,GraphX能够优化图操作的执行。
* [开始](getting-started.md)
* [属性图](property-graph.md)
* [图操作符](graph-operators.md)
* [Pregel API](pregel-api.md)
* [图构造者](graph-builders.md)
* [顶点和边RDDs](vertex-and-edge-rdds.md)
* [图算法](graph-algorithms.md)
* [例子](examples.md)
- Introduction
- 快速上手
- Spark Shell
- 独立应用程序
- 开始翻滚吧!
- RDD编程基础
- 基础介绍
- 外部数据集
- RDD 操作
- 转换Transformations
- map与flatMap解析
- 动作Actions
- RDD持久化
- RDD容错机制
- 传递函数到 Spark
- 使用键值对
- RDD依赖关系与DAG
- 共享变量
- Spark Streaming
- 一个快速的例子
- 基本概念
- 关联
- 初始化StreamingContext
- 离散流
- 输入DStreams
- DStream中的转换
- DStream的输出操作
- 缓存或持久化
- Checkpointing
- 部署应用程序
- 监控应用程序
- 性能调优
- 减少批数据的执行时间
- 设置正确的批容量
- 内存调优
- 容错语义
- Spark SQL
- 概述
- SparkSQLvsHiveSQL
- 数据源
- RDDs
- parquet文件
- JSON数据集
- Hive表
- 数据源例子
- join操作
- 聚合操作
- 性能调优
- 其他
- Spark SQL数据类型
- 其它SQL接口
- 编写语言集成(Language-Integrated)的相关查询
- GraphX编程指南
- 开始
- 属性图
- 图操作符
- Pregel API
- 图构造者
- 部署
- 顶点和边RDDs
- 图算法
- 例子
- 更多文档
- 提交应用程序
- 独立运行Spark
- 在yarn上运行Spark
- Spark配置
- RDD 持久化