当前位置: 首页 > news >正文

2024.1.9 Spark SQL day06 homework

目录

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

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

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

四. Spark程序运行集群分类


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

        1. 去重 

                Dorpduplicate:  桌度仆力K

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

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

        2. 去除空值

                        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个值不为空,才不会被删除

         3. 填充替换

                        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上

相关文章:

  • react 6种方式编写样式
  • Spring MVC响应结合RESTful风格开发,打造具有强大功能和良好体验的Web应用!
  • 【MIT 6.S081】2020, 实验记录(1),Lab: Xv6 and Unix utilities
  • uniapp微信小程序投票系统实战 (SpringBoot2+vue3.2+element plus ) -后端鉴权拦截器实现
  • CentOS 7.8 安装 Docker
  • Python 架构模式:第五章到第九章
  • 代码随想录day24 开启回溯算法
  • go 修改postgresql的配置参数
  • C++完成Query执行sql语句的接口封装和测试
  • 开启Android学习之旅-5-Activity全屏
  • CHS_01.1.4+操作系统体系结构 一
  • C++推箱子游戏开发
  • React Hooks的useState、useRef使用
  • Linux-进程间通信_管道
  • <设计模式> 七大原则
  • 2018一半小结一波
  • 2019.2.20 c++ 知识梳理
  • 3.7、@ResponseBody 和 @RestController
  • egg(89)--egg之redis的发布和订阅
  • flask接收请求并推入栈
  • git 常用命令
  • java概述
  • php的插入排序,通过双层for循环
  • Puppeteer:浏览器控制器
  • Redis学习笔记 - pipline(流水线、管道)
  • SpiderData 2019年2月13日 DApp数据排行榜
  • unity如何实现一个固定宽度的orthagraphic相机
  • 闭包,sync使用细节
  • 大型网站性能监测、分析与优化常见问题QA
  • 对超线程几个不同角度的解释
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 听说你叫Java(二)–Servlet请求
  • 新版博客前端前瞻
  • 用 Swift 编写面向协议的视图
  • 原生Ajax
  • 怎么将电脑中的声音录制成WAV格式
  • Java性能优化之JVM GC(垃圾回收机制)
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • $(selector).each()和$.each()的区别
  • (11)MSP430F5529 定时器B
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (编译到47%失败)to be deleted
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (二)Linux——Linux常用指令
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (篇九)MySQL常用内置函数
  • (强烈推荐)移动端音视频从零到上手(下)
  • (四)Controller接口控制器详解(三)
  • (转) Face-Resources
  • .NET Core/Framework 创建委托以大幅度提高反射调用的性能
  • .NET DataGridView数据绑定说明
  • .NET 反射 Reflect
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈
  • .Net的DataSet直接与SQL2005交互