> For the complete documentation index, see [llms.txt](https://lin-guan-ting.gitbook.io/apache-spark/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lin-guan-ting.gitbook.io/apache-spark/launch-a-spark-program/pyspark.md).

# pyspark

pyspark 的 shell ，同 spark-shell 一樣，都預設有 sc

我們也可以加入 sparkSQL 的 SparkSession 物件，SparkSession 是奠基在 SparkContext 的，專門針對 DataFrame 以及 SparkSQL的 driver 引擎，建立方式如下

```
spark = SparkSession.builder \
.master("local[*]") \
.appName("gitbook job") \
.config("spark.some.config.option","some-value") \
.getOrCreate()
```

master : 設定同 spark submit 一樣。

appName : 設定本 driver 的名稱

config : 兩個欄位，一個 key 一個 value，用來設定 config 參數。

getOrCreate，會去找是否有已存在的 SparkContext 物件，有則會使用該 SparkContext 建立，沒有就會建立一個 SparkContext 物件，再建立 SparkSession。
