pyspark.sql module 之SparkSession(待续)

63 篇文章 9 订阅
7 篇文章 0 订阅

Module Context

Spark SQL 和DF重要的类

类名说明
SparkSessionDF以及SQL的入口
DataFrame分布式数据集
ColumnDF的一列
RowDF的一行
GroupedDatadf.groupBy()的一些操作方法
DataFrameNafunction处理缺失数据的方法
DataFrameStatFunctions统计功能的一些方法
functionsdf 的一些内置方法
types数据类型的列表
Window窗口函数的方法

SparkSession

其为用户提供了一个统一的切入点来使用Spark的各项功能,并且允许用户通过它调用DataFrame和Dataset相关API来编写Spark程序。

##创建一个SparkSession

spark=SparkSession.builder\
    .master('spark://master:7077')\
    .appName("just-test")\
    .config("spark.executor.memory", '4g') \
    .getOrCreate()

说明

builder来创建一个SparkSession实例

  • appName 应用程序的名字

  • config(key=None, value=None, conf=None) 配置相关

    对于已经存在的SparkConf 可以用conf 参数
    SparkSession.builder.config(conf=SparkConf())
    对key,value
    SparkSession.builder.config(“spark.some.config.option”, “some-value”)

  • enableHiveSupport()
    支持Hive(暂时没有用过)

  • getOrCreate()
    有就获取没有就创建

  • master(master) a url for spark master

catalog

Conf

参考

range(start, end=None, step=1, numPartitions=None)

创建一个类型为types.LongType , 列名为id,有步长step,左闭右kai的DF

read

返回一个 DataFrameReader

readstream

sparkContext

返回一些潜在的sparkContext信息

SparkContext

Spark UI
Version
v2.4.0
Master
spark://master:7077
AppName
just-tes

sql(sqlQuery)

df.createOrReplaceTempView("table")
res=spark.sql("select count(*) from table")
res.show()

±-------+
|count(1)|
±-------+
| 6120|
±-------+

stop()

停止spark session
spark.stop()

streams

table(tableName)

把table转为DF

df.createOrReplaceTempView("table1")
df2 = spark.table("table1")
sorted(df.collect()) == sorted(df2.collect())  #True

udf

Returns a UDFRegistration for UDF registration.

version

spark.version
>> '2.4.0'

createDataFrame

createdataFrame(data, schema=None, samplingRatio=None, verifySchema=True)
创建df

l=[("Alice",1),("Tom",12)]
spark.createDataFrame(l).show()
+-----+---+
|   _1| _2|
+-----+---+
|Alice|  1|
|  Tom| 12|
+-----+---+

In [41]:

d=[{"name":"Alice","age":1},{"name":"Tom","age":12}]
spark.createDataFrame(d).show()
+---+-----+
|age| name|
+---+-----+
|  1|Alice|
| 12|  Tom|
+---+-----+

In [30]:

from pyspark.sql.types import *
schema=StructType([
                  StructField("name",StringType(),True),
                  StructField("age",IntegerType(),True)
])
spark.createDataFrame(l,schema).show()
+-----+---+
| name|age|
+-----+---+
|Alice|  1|
|  Tom| 12|
+-----+---+
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值