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上

相关推荐
Light605 小时前
点燃变革:领码SPARK融合平台如何重塑OA,开启企业智慧协同新纪元?
大数据·分布式·spark
Guheyunyi5 小时前
智慧消防管理系统如何重塑安全未来
大数据·运维·服务器·人工智能·安全
写代码的【黑咖啡】6 小时前
如何在大数据数仓中搭建数据集市
大数据·分布式·spark
华清远见成都中心6 小时前
成都理工大学&华清远见成都中心实训,助力电商人才培养
大数据·人工智能·嵌入式
梦里不知身是客117 小时前
flume防止数据丢失的方法
大数据·flume
SoleMotive.8 小时前
kafka选型
分布式·kafka
鹏说大数据9 小时前
数据治理项目实战系列6-数据治理架构设计实战,流程 + 工具双架构拆解
大数据·数据库·架构
小二·9 小时前
MyBatis基础入门《十五》分布式事务实战:Seata + MyBatis 实现跨服务数据一致性
分布式·wpf·mybatis
AI逐月11 小时前
Git 彻底清除历史记录
大数据·git·elasticsearch
天远API11 小时前
Java后端进阶:处理多数据源聚合API —— 以天远小微企业报告为例
大数据·api