spark sql遇到的问题
2024-09-22 14:21:36
项目背景:计算平台架构hadoop spark spark on yarn,支持多种sql引擎如hive、spark sql、impala等。
问题描述:SPARK SQL在做insert overwrite table 操作的时候,有时SPARK SQL提交会有延迟,或者是长时间提交不上去,最终导致任务失败
问题原因:写hdfs的时候会有replaceing file操作,会进行hive元数据的读写操作,hive默认是支持Multi-session机制,spark sql实际只有一个session会话,在做操作的时候session会产生lock,只能有一个任务去操作元数据,其他任务就会等待,导致spark sql提交不到yarn上
解决过程: 在网上搜集了很多资料,走了很多弯路,开始以为是hdfs的问题,小文件过多的问题,有大量的replaceing操作,占用了大量资源,后面发现并没有占用资源,根本的原因虽然不是小文件问题,但是和小文件有很大的关系,小文件多,导致任务执行时间长,频繁的读写元数据,长时间占用session,出现问题几率大大增加,后面发现SPARK SQL的一个bug,找到了一个issues:https://issues.apache.org/jira/browse/SPARK-14003,目前还在open状态,这个问题目前还没有好的解决方式,spark sql集成hive的一个缺陷。
解决方式:使用insert into 替换insert overwrite,多个spark thirft server实例,大大减少了发生的频率
最新文章
- 感悟 GNU C 以及将 Vim 打造成 C/C++ 的半自动化 IDE
- centos 安装 rabbitMQ
- Retrieve失败解决办法一例
- POJ 3461	Oulipo
- XML引入多scheme文件约束简单示例
- 使用 TFDConnection 的 pooled 连接池
- 打包python脚本为exe可执行文件-pyinstaller和cx_freeze示例
- javascript跑马灯抽奖
- 个人思考:能否sub.prototye=sup.prototype实现继承
- Linq to sql语法
- [Immutable,js] Immutable.Record() as data models
- 浙大pat 1011题解
- [算法] dijkstra单源无负权最小路径算法
- 如何为ubuntu server 版本 安装图形界面
- asp.net core 自定义认证方式--请求头认证
- Linux 故障问题处理
- linux下安装jdk 详细步骤(一条命令即可安装)
- [持续交付实践] Jenkins Pipeline 高可用设计方法
- [转]tomcat启动报错too low setting for -Xss
- C#项目获取当前时间的农历时间