pyspark之DataFrame学习【dataFrame查询】(3)
来源:互联网 发布:广州数据分析师 编辑:程序博客网 时间:2024/06/07 12:11
在查看dataFrame的信息时,可以通过collect()、show()、或者take()、来查看DataFrame中的数据(show()和take()包含了限制返回行数的选项)
1.查看行数
可以使用count()方法查看DataFrame的行数
from pyspark.sql import SparkSessionspark= SparkSession\ .builder \ .appName("dataFrame") \ .getOrCreate()# # 导入类型from pyspark.sql.types import *#生成以逗号分隔的数据stringCSVRDD = spark.sparkContext.parallelize([ (123,"Katie",19,"brown"), (234,"Michael",22,"green"), (345,"Simone",23,"blue")])#指定模式,StructField(name,dataType,nullable)其中name:该字段的名字,dataType:该字段的数据类型,nullable:指示该字段的值是否为空schema = StructType([ StructField("id",LongType(),True), StructField("name",StringType(),True), StructField("age",LongType(),True), StructField("eyeColor",StringType(),True)])#对RDD应用该模式并且创建DataFrameswimmers = spark.createDataFrame(stringCSVRDD,schema)#利用DataFrame创建一个临时视图swimmers.registerTempTable("swimmers")#查看DataFrame的行数print swimmers.count()3
2.筛选语句
使用filter字句运行筛选语句
#获取age=22的idswimmers.select("id","age").filter("age=22").show()+---+---+
| id|age|
+---+---+
|234| 22|
+---+---+
上述查询的另一种写法
swimmers.select(swimmers.id,swimmers.age).filter(swimmers.age==22).show()+---+---+
| id|age|
+---+---+
|234| 22|
+---+---+
如果只想得到眼睛颜色是以字母b开头的人的名字,则可使用like
#获得eyeColor like 'b%'的(name)名字,(eyeColor)眼睛颜色swimmers.select("name","eyeColor").filter("eyeColor like 'b%'").show()+------+--------+
| name|eyeColor|
+------+--------+
| Katie| brown|
|Simone| blue|
+------+--------+
3.利用SQL查询
可以执行SQL查询是因为对swimmers数据执行了.registerTempTable方法
查询行数
# swimmers.select("name","eyeColor").filter("eyeColor like 'b%'").show()spark.sql("select count(1) from swimmers").show()
+--------+
|count(1)|
+--------+
| 3|
+--------+
#用SQL获得age=22的id,agespark.sql("select id,age from swimmers where age=22").show()+---+---+
| id|age|
+---+---+
|234| 22|
+---+---+
如果只是想要取回眼睛颜色以字母b开头的人的名字,则可以使用like
spark.sql("select name,eyeColor from swimmers where eyeColor like 'b%'").show()
+------+--------+| name|eyeColor|
+------+--------+
| Katie| brown|
|Simone| blue|
+------+--------+
阅读全文
0 0
- pyspark之DataFrame学习【dataFrame查询】(3)
- pyspark之DataFrame学习【指定dataFrame模式】(2)
- pyspark之DataFrame学习【dataFrame应用实例】(4)
- pyspark之DataFrame学习(1)
- pyspark-DataFrame API
- pyspark-csv To DataFrame
- pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换
- python 数据处理学习pandas之DataFrame(一)
- python 数据处理学习pandas之DataFrame(二)
- python 数据处理学习pandas之DataFrame(三)
- pandas学习笔记-DataFrame(1)
- pandas学习笔记-DataFrame(2)
- Pandas学习笔记(DataFrame基本操作)
- SparkSQL-DataFrame学习笔记
- Pandas学习:DataFrame
- DataFrame 学习笔记
- python中Dataframe学习
- spark dataset,dataframe学习
- 给springboot加上druid控制台
- MySQL5.5源码安装----Cmake(多实例)
- JS模块加载
- postgis快速入门
- 如何在esxi中为linux添加网卡
- pyspark之DataFrame学习【dataFrame查询】(3)
- Android--储存大小标准格式
- 前端存储技术
- 【前端】html端输入数据,利用qrcode.js生成打印二维码
- 从Handler.post(Runnable r)再一次梳理Android的消息机制(以及handler的内存泄露)
- PostgreSQL 业务数据质量 实时监控 实践
- jquery练习6 鼠标焦点的安全提醒
- Twig与symfony那点事
- PLSQL中存储过程的建立,导出,导入,使用