spark sql 入门操作

开始
from pyspark.sql import SparkSession

spark = SparkSession \
    .builder \
    .appName("Python Spark SQL basic example") \
    .config("spark.some.config.option", "some-value") \
    .getOrCreate()
创建DataFrame
# spark is an existing SparkSession
df = spark.read.json("/yx/people.json") 
# Displays the content of the DataFrame to stdout
df.show()
# +----+-------+
# | age|   name|
# +----+-------+
# |null|Michael|
# |  30|   Andy|
# |  19| Justin|
# +----+-------+
数据操作(类型化)
df.printSchema() #

'''
结果:
root
 |-- age: long (nullable = true)
 |-- name: string (nullable = true)
'''
df.select('name').show() #

'''
结果:
+-------+
|   name|
+-------+
|Michael|
|   Andy|
| Justin|
+-------+
'''

df.select(df['name'],df['age'] + 10).show()

'''
结果:
+-------+----------+
|   name|(age + 10)|
+-------+----------+
|Michael|      null|
|   Andy|        40|
| Justin|        29|
+-------+----------+
'''
sql化编程
df.createOrReplaceTempView('people') #创建一张临时表,只在当前会话生效
df.createGlobalTempView("people1") # 创建一张全局临时表,在所有会话中生效


sqlDF = spark.sql('select * from people')
sqlDF1 = spark.sql('select * from global_temp.people1')
sqlDF2 = spark.newSession().sql('select * from people')# 
sqlDF3 = spark.newSession().sql('select * from global_temp.people')# 成功
sqlDF.show()  #成功
sqlDF1.show() #成功
sqlDF2.show() #失败:'Table or view not found: people; line 1 pos 14'
sqlDF3.show() #成功
'''
结果:
+----+-------+
| age|   name|
+----+-------+
|null|Michael|
|  30|   Andy|
|  19| Justin|
+----+-------+
'''
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

crystalnsd

万水千山总是情,支持一下行不行

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值