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上

相关推荐
i***66501 小时前
分布式推理框架 xDit
分布式
哈哈哈笑什么1 小时前
分布式事务实战:订单服务 + 库存服务(基于本地消息表组件)
分布式·后端·rabbitmq
哈哈哈笑什么2 小时前
完整分布式事务解决方案(本地消息表 + RabbitMQ)
分布式·后端·rabbitmq
无代码专家2 小时前
设备巡检数字化解决方案:构建高效闭环管理体系
java·大数据·人工智能
天远数科2 小时前
Node.js 原生加密指南:详解 Crypto 模块对接天远银行卡黑名单接口
大数据·api
LDG_AGI2 小时前
【推荐系统】深度学习训练框架(十):PyTorch Dataset—PyTorch数据基石
人工智能·pytorch·分布式·python·深度学习·机器学习
expect7g2 小时前
Paimon Branch --- 流批一体化之二
大数据·后端·flink
tanxiaomi2 小时前
Redisson分布式锁 和 乐观锁的使用场景
java·分布式·mysql·面试
天远云服2 小时前
高并发风控实践:AES 加密与银行卡风险标签清洗的 Go 语言实现
大数据·api
无级程序员2 小时前
datasophon中dolpinscheduler的自定义配置common.properties不生效问题解决
大数据