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上

相关推荐
时序数据说1 小时前
时序数据库市场前景分析
大数据·数据库·物联网·开源·时序数据库
2501_930104045 小时前
GitCode 疑难问题诊疗:全方位指南
大数据·elasticsearch·gitcode
健康平安的活着5 小时前
es7.17.x es服务yellow状态的排查&查看节点,分片状态数量
大数据·elasticsearch·搜索引擎
念念01075 小时前
基于MATLAB多智能体强化学习的出租车资源配置优化系统设计与实现
大数据·人工智能·matlab
sunxinyu8 小时前
曲面/线 拟合gnuplot
大数据·线性回归·数据处理·数据拟合·二维三维空间数据
专注API从业者8 小时前
基于 Flink 的淘宝实时数据管道设计:商品详情流式处理与异构存储
大数据·前端·数据库·数据挖掘·flink
淡酒交魂10 小时前
「Flink」业务搭建方法总结
大数据·数据挖掘·数据分析
mask哥10 小时前
详解flink java基础(一)
java·大数据·微服务·flink·实时计算·领域驱动
TDengine (老段)10 小时前
TDengine IDMP 高级功能(4. 元素引用)
大数据·数据库·人工智能·物联网·数据分析·时序数据库·tdengine
livemetee11 小时前
Flink2.0学习笔记:Flink服务器搭建与flink作业提交
大数据·笔记·学习·flink