项目背景:计算平台架构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实例,大大减少了发生的频率

最新文章

  1. 感悟 GNU C 以及将 Vim 打造成 C/C++ 的半自动化 IDE
  2. centos 安装 rabbitMQ
  3. Retrieve失败解决办法一例
  4. POJ 3461 Oulipo
  5. XML引入多scheme文件约束简单示例
  6. 使用 TFDConnection 的 pooled 连接池
  7. 打包python脚本为exe可执行文件-pyinstaller和cx_freeze示例
  8. javascript跑马灯抽奖
  9. 个人思考:能否sub.prototye=sup.prototype实现继承
  10. Linq to sql语法
  11. [Immutable,js] Immutable.Record() as data models
  12. 浙大pat 1011题解
  13. [算法] dijkstra单源无负权最小路径算法
  14. 如何为ubuntu server 版本 安装图形界面
  15. asp.net core 自定义认证方式--请求头认证
  16. Linux 故障问题处理
  17. linux下安装jdk 详细步骤(一条命令即可安装)
  18. [持续交付实践] Jenkins Pipeline 高可用设计方法
  19. [转]tomcat启动报错too low setting for -Xss
  20. C#项目获取当前时间的农历时间

热门文章

  1. 动态规划:区间DP与环形DP
  2. 【设计模式】 模式PK:包装模式群PK
  3. 【usaco-Liars and Truth Tellers, 2013 Jan真假奶牛】并查集
  4. 【Luogu】P3930 SAC E#1 - 一道大水题 Knight
  5. Vuejs - 单文件组件
  6. [2009国家集训队]小Z的袜子(hose)(BZOJ2038+莫队入门题)
  7. 4、什么是事务?MySQL如何支持事务?
  8. TDD随想录
  9. 转 一次完整地http请求
  10. rabbitmq之配置文件详解(二)