2024.1.9 Spark SQL day06 homework

目录

[一. Spark SQL中数据清洗的API有哪些,各自作用是什么?](#一. Spark SQL中数据清洗的API有哪些,各自作用是什么?)

[二. 设置Spark SQL的shuffle分区数的方式有哪几种](#二. 设置Spark SQL的shuffle分区数的方式有哪几种)

[三. 数据写出到数据库需要注意什么?](#三. 数据写出到数据库需要注意什么?)

[四. Spark程序运行集群分类](#四. Spark程序运行集群分类)


一. Spark SQL中数据清洗的API有哪些,各自作用是什么?

  1. 去重

Dorpduplicate: 桌度仆力K

init_df.dropDuplicates().show()

init_df.dropDuplicates(subset=字段1,字段2).show()

如果没有指定subset,那么就会对一整行的数据 进行比对, 如果全部都相同,那么就删除

  1. 去除空值

dropna : 桌那

init_df.dropna(thresh=2,subset="字段1,字段2").show()

init_df.dropna(thresh=2).show()

init_df.dropna().show()

如果不传参数,只要有一个字段为null就删除全部

如果制定了subset,那么检查的范围就限定在subset里

thresh就是进一步指定范围的数值,至少有thresh个值不为空,才不会被删除

  1. 填充替换

fillna: feel那

init_df.fillna(value=999).show()

init_df.fillna(value=999,subset="字段1","字段2").show()

init_df.fillna(value={"{"name":"未知姓名","age":100}).show()

fillna(value,subset):替换缺失值数据

value(是要替换的内容) , subset是要替换的范围 ,常用的是value = 字典类型的形式

二. 设置Spark SQL的shuffle分区数的方式有哪几种

方式一:

全局设置: Spark.sql.shuffle.Partitions 数量

方式二:

动态设置shuffle分区数量 : ./spark-submit --conf "spark.sql.shuffle.partitions=数量"

方式三:

写死分区数: sparkSession.conf.set('spark.sql.shuffle.partitions',数量)

三. 数据写出到数据库需要注意什么?

中文乱码问题。需要设置数据库编码,以及在连接URL中指定编码参数

?useUnicode=true&characterEncoding=utf-8

四. Spark程序运行集群分类

Spark 集群 : Spark自带的集群 , 也称为Standalone

Yarn集群:Spark程序运行在Yarn上

相关推荐
SelectDB25 分钟前
安全评审卡了三周,我把部署形态的四种选项重新排了一遍
大数据·数据库·云原生
注塑机数据采集联网1 小时前
注塑机生产管控MES系统应用
大数据·运维·服务器·人工智能·物联网
Deng桑3 小时前
分布式锁与幂等
分布式
2601_952047794 小时前
聚水潭售后退仓单同步到金蝶云·星空退货单:轻易云实战教程
大数据·机器人·钉钉·制造
QYRese4 小时前
全球氢气压缩机市场发展前景报告:2026-2032年CAGR5.5%
大数据
四季豆334 小时前
AI时代中小企业如何低成本提升数据和知识质量?
大数据·人工智能·数据挖掘
2601_967212724 小时前
轨道式插座安全结构、认证要求与场景参数技术说明
大数据·经验分享·安全
方向研究4 小时前
日本地价百年
大数据
4SAPI5 小时前
多模态 AI 应用统一接入网关生产选型指南:4SAPI、硅基流动与 OpenRouter 的架构权衡
大数据·人工智能·架构·php·1024程序员节
wifi___5 小时前
Redis分布式锁
数据库·redis·分布式