當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python pyspark SparkSession用法及代碼示例


本文簡要介紹 pyspark.sql.SparkSession 的用法。

用法:

class pyspark.sql.SparkSession(sparkContext, jsparkSession=None)

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

SparkSession 可用於創建 DataFrame 、將 DataFrame 注冊為表、對表執行 SQL、緩存表以及讀取 parquet 文件。要創建 SparkSession ,請使用以下構建器模式:

builder

具有Builder的類屬性,用於構造SparkSession實例。

例子

>>> spark = SparkSession.builder \
...     .master("local") \
...     .appName("Word Count") \
...     .config("spark.some.config.option", "some-value") \
...     .getOrCreate()
>>> from datetime import datetime
>>> from pyspark.sql import Row
>>> spark = SparkSession(sc)
>>> allTypes = sc.parallelize([Row(i=1, s="string", d=1.0, l=1,
...     b=True, list=[1, 2, 3], dict={"s": 0}, row=Row(a=1),
...     time=datetime(2014, 8, 1, 14, 1, 5))])
>>> df = allTypes.toDF()
>>> df.createOrReplaceTempView("allTypes")
>>> spark.sql('select i+1, d+1, not b, list[1], dict["s"], time, row.a '
...            'from allTypes where b and i > 0').collect()
[Row((i + 1)=2, (d + 1)=2.0, (NOT b)=False, list[1]=2,         dict[s]=0, time=datetime.datetime(2014, 8, 1, 14, 1, 5), a=1)]
>>> df.rdd.map(lambda x: (x.i, x.s, x.d, x.l, x.b, x.time, x.row.a, x.list)).collect()
[(1, 'string', 1.0, 1, True, datetime.datetime(2014, 8, 1, 14, 1, 5), 1, [1, 2, 3])]

相關用法


注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 pyspark.sql.SparkSession。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。