pyspark入門系列 - 02 pyspark.sql入口 SparkSession簡介與實踐

SparkSesson爲使用Dataset和DataFrame API編程Spark的入口點。

SparkSesson對象可以創建DataFrame,將Dataframe註冊爲表,並在表上執行SQL、緩存表、讀parquet文件等,通過下面的方式創建SparkSesson

from pyspark.sql import SparkSession
spark = SparkSession.builder.master('local').appName('Word-Count').config('"spark.some.config.option", "some-value"').getOrCreate()
  • builder: 用於構建SparkSession實例
  • master: 設置要連接的Spark主節點URL
  • appName: 爲應用設置一個名字,這個名字會顯示在Spark Web UI
  • config: 配置項,對於已經存在的SparkConf,可使用conf參數
    from pyspark.conf import SparkConf
    SparkSession.builder.config(conf=SparkConf())
  • enableHiveSupport:啓用Hive支持,包括與持久性Hive Metastore的連接,對Hive SerDes的支持以及Hive用戶定義的功能。
  • getOrCreate: 獲取現有的SparkSession,或者如果不存在,則根據此構建器中設置的選項創建一個新的SparkSession。

屬性

  • catalog:用戶可以通過其創建,刪除,更改或查詢基礎數據庫,表,函數的界面
  • conf:Spark的運行時配置界面。 這是用戶可用來獲取和設置與Spark SQL相關的所有Spark和Hadoop配置的界面。 獲取配置的值時,默認爲在基礎SparkContext中設置的值(如果有)。
  • createDataFrame(data, schema=None, samplingRatio=None, verifySchema=True): 從rdd,列表,pandas.DataFrame創建DataFrame
    data: 數據,RDD, SQL data, list, 或者pandas.DataFrame
    schema: list類型
df = spark.createDataFrame(data=[[1,2], [3,4]], schema=['a', 'b'])
df1 = spark.createDataFrame(data=[{'a': [1,2], 'b': [3,4]}])
df1.show(2)
+------+------+
|     a|     b|
+------+------+
|[1, 2]|[3, 4]|
+------+------+

附上官方文檔的連接:http://spark.apache.org/docs/latest/api/python/pyspark.sql.html#pyspark.sql.SparkSession

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章