# 初始化 Spark
Spark 編程的第一步是需要創建一個 [SparkContext](https://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.SparkContext) 對象,用來告訴 Spark 如何訪問集群。在創建 `SparkContext` 之前,你需要構建一個 [SparkConf](https://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.SparkConf) 對象, SparkConf 對象包含了一些你應用程序的信息。
~~~
val conf = new SparkConf().setAppName(appName).setMaster(master)
new SparkContext(conf)
~~~
`appName` 參數是你程序的名字,它會顯示在 cluster UI 上。`master` 是 [Spark, Mesos 或 YARN 集群的 URL](https://spark.apache.org/docs/latest/submitting-applications.html#master-urls),或運行在本地模式時,使用專用字符串 “local”。在實踐中,當應用程序運行在一個集群上時,你并不想要把 `master` 硬編碼到你的程序中,你可以[用 spark-submit 啟動你的應用程序](https://spark.apache.org/docs/latest/submitting-applications.html)的時候傳遞它。然而,你可以在本地測試和單元測試中使用 “local” 運行 Spark 進程。
### 使用 Shell
在 Spark shell 中,有一個專有的 SparkContext 已經為你創建好。在變量中叫做 `sc`。你自己創建的 SparkContext 將無法工作。可以用 `--master` 參數來設置 SparkContext 要連接的集群,用 `--jars` 來設置需要添加到 classpath 中的 JAR 包,如果有多個 JAR 包使用**逗號**分割符連接它們。例如:在一個擁有 4 核的環境上運行 `bin/spark-shell`,使用:
~~~
$ ./bin/spark-shell --master local[4]
~~~
或在 classpath 中添加 `code.jar`,使用:
~~~
$ ./bin/spark-shell --master local[4] --jars code.jar
~~~
執行 `spark-shell --help` 獲取完整的選項列表。在這之后,調用 `spark-shell` 會比 [spark-submit 腳本](https://spark.apache.org/docs/latest/submitting-applications.html)更為普遍。
- 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配置