zoukankan      html  css  js  c++  java
  • spark sql遇到的问题

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

  • 相关阅读:
    HTML Rendering Error
    PyCharm将选中的内容加上引号
    Scrapy中的Request和日志分析
    PyCharm关闭按两次Shift进入搜索框的功能
    博客园更换模板的链接
    Scrapy的Spider类和CrawlSpider类
    Scrapy安装和简单使用
    计算π的近似值
    Python用pip安装第三方库时换源下载
    网页解析 -- bs4 和 xpath 的简单使用
  • 原文地址:https://www.cnblogs.com/lulu638/p/9806214.html
Copyright © 2011-2022 走看看