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

用户画像系列——Spark任务调优实践

在画像标签的加工和写入hbase中,我们采用了spark来快速进行处理和写入。但是在实际线上运行的过程中,仍然遇到了不少问题,下面来总结下遇到的一些问题

1.数据倾斜问题

其实spark 数据倾斜思路和hive、mapreduce 数据倾斜思路处理类似,先看运行的任务,找到spark监控,active job -> stage -> task, 最终我们就能找到运行的task,可以看一些运行时长远超其他的task,同时处理的数据量也远超其他task,这种情况就是有数据倾斜了。

然后我们就可以对我们自己的数据进行分析:

可以很明显的看到前两条数据要比后面的其他数据量级要大,因此可以看出来存在数据倾斜。

数据倾斜的思路也是比较简单:

(1)可以在id前加随机前缀,先统计一次,然后去掉前缀再统计,这样就能解决数据倾斜问题了。

(2)或者有一些认为这种数据是脏数据可以直接过滤,丢弃掉也可以,需要根据业务场景进行判断。

2.任务处理很慢

一般这种情况,需要我们去看我们运行慢的任务,如果不存在数据倾斜问题,那就需要去分析运行的jstack 堆栈信息。(多观察刷新几次 观察堆栈信息,看看是不是一直在执行某个方法,说明一直在这里执行)

之前遇到代码死循环(这个明显是代码写错了),一直卡在某个方法里出不来,也是通过查看堆栈信息发现的。

再有的优化手段:textfile 格式 优化成 parquet 格式(parquet格式⽀持⾃动split,当单个文件过大时spark读进来之后可以支持自动split),但是texfile是不支持的。

3.spark oom 问题

(1)driver 端 oom:spark collect 把大数据拉到了driver 端

(2)excutor 端 oom: mapPartitions 提供给了我们更加强大的数据控制力,怎么理解呢?我们可以一次拿到一个分区的数据,那么我们就可以对一个分区的数据进行统一处理,会加大内存的开销,可能会导致 oom 问题也是需要注意的

当然大家,也可以继续看看前面写的用户画像系列文章

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • mysql问题解决
  • 【Material-UI】Icon Button 组件详解
  • 【2.4 python中的基本输入和输出】
  • 【vulnhub】Bob:1.0.1靶机
  • Redis入门概述
  • vulnhub之serial
  • 工作中,如何有效解决“冲突”?不回避,不退让才是最佳方式
  • 盘点Hutool6.0中新增的那些方法(上)
  • Day6
  • 缓冲流练习
  • js第二天
  • 最强开源文生图模型一夜易主!SD一作、Stabililty AI核心成员Robin Rombach下场创业了,一出手就是王炸。
  • Python 爬虫项目实战(一):爬取某云热歌榜歌曲
  • E23.【C语言】练习:不创建第三个变量实现两个整数的交换
  • 锂电池生产工艺数字化的业务架构.pptx
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • node和express搭建代理服务器(源码)
  • 翻译:Hystrix - How To Use
  • 和 || 运算
  • 你真的知道 == 和 equals 的区别吗?
  • 排序算法学习笔记
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 推荐一个React的管理后台框架
  • 项目实战-Api的解决方案
  • 学习笔记:对象,原型和继承(1)
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #pragam once 和 #ifndef 预编译头
  • #WEB前端(HTML属性)
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (3)nginx 配置(nginx.conf)
  • (42)STM32——LCD显示屏实验笔记
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (接口封装)
  • (论文阅读40-45)图像描述1
  • (四)linux文件内容查看
  • (已解决)Bootstrap精美弹出框模态框modal,实现js向modal传递数据
  • (转)h264中avc和flv数据的解析
  • (转)JAVA中的堆栈
  • (转)Mysql的优化设置
  • (转)Windows2003安全设置/维护
  • (转)我也是一只IT小小鸟
  • ******IT公司面试题汇总+优秀技术博客汇总
  • .NET I/O 学习笔记:对文件和目录进行解压缩操作
  • .NET WebClient 类下载部分文件会错误?可能是解压缩的锅
  • .NET 材料检测系统崩溃分析
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
  • .net6Api后台+uniapp导出Excel
  • .net反编译工具
  • .NET基础篇——反射的奥妙
  • .NET企业级应用架构设计系列之应用服务器
  • @param注解什么意思_9000字,通俗易懂的讲解下Java注解
  • [ 渗透工具篇 ] 一篇文章让你掌握神奇的shuize -- 信息收集自动化工具
  • [15] 使用Opencv_CUDA 模块实现基本计算机视觉程序
  • [2016.7 test.5] T1