# 開始
Spark中所有相關功能的入口點是[SQLContext](http://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.sql.SQLContext)類或者它的子類,創建一個SQLContext的所有需要僅僅是一個SparkContext。
~~~
val sc: SparkContext // An existing SparkContext.
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
// createSchemaRDD is used to implicitly convert an RDD to a SchemaRDD.
import sqlContext.createSchemaRDD
~~~
除了一個基本的SQLContext,你也能夠創建一個HiveContext,它支持基本SQLContext所支持功能的一個超集。它的額外的功能包括用更完整的HiveQL分析器寫查詢去訪問HiveUDFs的能力、從Hive表讀取數據的能力。用HiveContext你不需要一個已經存在的Hive開啟,SQLContext可用的數據源對HiveContext也可用。HiveContext分開打包是為了避免在Spark構建時包含了所有的Hive依賴。如果對你的應用程序來說,這些依賴不存在問題,Spark 1.2推薦使用HiveContext。以后的穩定版本將專注于為SQLContext提供與HiveContext等價的功能。
用來解析查詢語句的特定SQL變種語言可以通過`spark.sql.dialect`選項來選擇。這個參數可以通過兩種方式改變,一種方式是通過`setConf`方法設定,另一種方式是在SQL命令中通過`SET key=value`來設定。對于SQLContext,唯一可用的方言是“sql”,它是Spark SQL提供的一個簡單的SQL解析器。在HiveContext中,雖然也支持"sql",但默認的方言是“hiveql”。這是因為HiveQL解析器更完整。在很多用例中推薦使用“hiveql”。
- 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配置