# GraphX編程指南
GraphX是一個新的(alpha)Spark API,它用于圖和并行圖(graph-parallel)的計算。GraphX通過引入[Resilient Distributed Property Graph](#):帶有頂點和邊屬性的有向多重圖,來擴展Spark RDD。為了支持圖計算,GraphX公開一組基本的功能操作以及Pregel API的一個優化。另外,GraphX包含了一個日益增長的圖算法和圖builders的集合,用以簡化圖分析任務。
從社交網絡到語言建模,不斷增長的規模和圖形數據的重要性已經推動了許多新的`graph-parallel`系統(如[Giraph](http://giraph.apache.org/)和[GraphLab](http://graphlab.org/))的發展。通過限制可表達的計算類型和引入新的技術來劃分和分配圖,這些系統可以高效地執行復雜的圖形算法,比一般的`data-parallel`系統快很多。

然而,通過這種限制可以提高性能,但是很難表示典型的圖分析途徑(構造圖、修改它的結構或者表示跨多個圖的計算)中很多重要的stages。另外,我們如何看待數據取決于我們的目標,并且同一原始數據可能有許多不同表和圖的視圖。

結論是,圖和表之間經常需要能夠相互移動。然而,現有的圖分析管道必須組成`graph-parallel`和`data- parallel`系統`,從而實現大數據的遷移和復制并生成一個復雜的編程模型。

GraphX項目的目的就是將`graph-parallel`和`data-parallel`統一到一個系統中,這個系統擁有一個唯一的組合API。GraphX允許用戶將數據當做一個圖和一個集合(RDD),而不需要數據移動或者復制。通過將最新的進展整合進`graph-parallel`系統,GraphX能夠優化圖操作的執行。
- [開始](#)
- [屬性圖](#)
- [圖操作符](#)
- [Pregel API](#)
- [圖構造者](#)
- [頂點和邊RDDs](#)
- [圖算法](#)
- [例子](#)
- Introduction
- 快速上手
- Spark Shell
- 獨立應用程序
- 開始翻滾吧!
- 編程指南
- 引入 Spark
- 初始化 Spark
- Spark RDDs
- 并行集合
- 外部數據集
- RDD 操作
- RDD持久化
- 共享變量
- 從這里開始
- Spark Streaming
- 一個快速的例子
- 基本概念
- 關聯
- 初始化StreamingContext
- 離散流
- 輸入DStreams
- DStream中的轉換
- DStream的輸出操作
- 緩存或持久化
- Checkpointing
- 部署應用程序
- 監控應用程序
- 性能調優
- 減少批數據的執行時間
- 設置正確的批容量
- 內存調優
- 容錯語義
- Spark SQL
- 開始
- 數據源
- RDDs
- parquet文件
- JSON數據集
- Hive表
- 性能調優
- 其它SQL接口
- 編寫語言集成(Language-Integrated)的相關查詢
- Spark SQL數據類型
- GraphX編程指南
- 開始
- 屬性圖
- 圖操作符
- Pregel API
- 圖構造者
- 頂點和邊RDDs
- 圖算法
- 例子
- 提交應用程序
- 獨立運行Spark
- 在yarn上運行Spark
- Spark配置