当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。