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 小时前
Elasticsearch 超大日志流量集群搭建(网关 + 独立 Master + 独立 Data 纯生产架构,角色完全分离,百万级日志吞吐)
大数据·elasticsearch·云原生·架构·云计算
阿坤带你走近大数据2 小时前
如何解决农业数据的碎片化问题
大数据·人工智能·rag·大模型应用
资生算法程序员_畅想家_剑魔2 小时前
Java常见技术分享-分布式篇-分布式系统基础理论
java·开发语言·分布式
jonyleek2 小时前
告别硬编码:通过逻辑编排引擎的RabbitMQ监听实现灵活自动化
分布式·自动化·rabbitmq·服务编排·逻辑引擎
Ydwlcloud3 小时前
AWS 2026折扣活动深度解析:寻找最大优惠的智慧路径
大数据·服务器·人工智能·云计算·aws
QYR_113 小时前
聚偏二氟乙烯(PVDF)行业市场深度调研与投资前景预测报告2026版
大数据·人工智能
2401_832298103 小时前
芯片级机密计算,天翼云CSV3筑牢数据“可用不可见”防线
大数据·网络·人工智能
企业对冲系统官3 小时前
基差风险管理系统集成说明与接口规范
大数据·运维·python·算法·区块链·github
五度易链-区域产业数字化管理平台4 小时前
行业分析报告|从算法到基因治疗:生物医药行业的数字化转型与人才战略
大数据·人工智能
阿湯哥5 小时前
Agent+Skills架构进阶:嵌套型SubAgent的Skill化封装方法论
大数据·架构