Bootstrap

用spark进行数据查询常用语法总结(1)

文章目录

在工作中用spark对数据查询,所使用的常用语法进行整理归纳如下:

show:数据显示

data = spark.sql("""select \* from temp.tables""")
data.show(3)

# 转成pandas方式
# df = data.toPandas()
# df.head(3)

distinct:数据行数去重

data = spark.sql("""select \* from temp.tables""").distinct()
data.show(3)

#or

data = spark.sql("""select \* from temp.tables""")
data  = data.distinct()
data.show(3)

count:看行数

data = spark.sql("""select \* from temp.tables""")
data.count()

select:查看具体列数据

data = data.select('dt', 'order\_money')
data.show(3)

toDF:对字段命名(搭配常用与groupby–agg–toDF)

data = spark.sql("""select \* from temp.tables""")
df = data.group('dt').agg(fn.countDistinct('user\_id'), fn.sum('order\_money')).toDF('dt', 'user\_uv\_count', 'order\_money\_sum')
df.show(3)

withColumn:新增列名

df = df.withColumn('avg\_money', (df.order_money_sum / df.user_uv_count).cast('decimal(14,4)'))
df.show(3)

printSchema: 打印列名信息

df.printSchema()

dropDuplicates:数据列数去重

data = spark.sql("""select \* from temp.tables""")
data.dropDuplicates(['city']).show()

limit:数据看前N条

data = spark.sql("""select \* from temp.tables""").limit(10)
data.show(3)

collect:所有数据收集到数组

data = spark.sql("""select \* from temp.tables""")
data.collect().show(3)

head==take:查看前N行数据

data = spark.sql("""select \* from temp.tables""").head(5)
data.show(3)

data = spark.sql("""select \* from temp.tables""").take(5)
data.show(3)



**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数大数据工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。**
![img](https://img-blog.csdnimg.cn/img_convert/f7d54733acca198a41dc24d12a7e6122.png)
![img](https://img-blog.csdnimg.cn/img_convert/3eda6a46163cd8eca512fb9cd205ee1b.png)
![img](https://img-blog.csdnimg.cn/img_convert/02c40deba3b7d462d5f995c65a74d0df.png)
![img](https://img-blog.csdnimg.cn/img_convert/4bef0a7363333efddb4b4933dc200bc5.png)
![img](https://img-blog.csdnimg.cn/img_convert/9da2df4a46d7dba91710c61bd3e6c1b0.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)**
![img](https://img-blog.csdnimg.cn/img_convert/f01a54b0c82ee5f10c49230fedee6622.png)

真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)**
[外链图片转存中...(img-A6cXLeWU-1712906506509)]

;