当前位置:   article > 正文

记录一个hive中跑insert语句说没创建spark客户端的问题

记录一个hive中跑insert语句说没创建spark客户端的问题

【背景说明】

我目前搭建离线数仓,并将hive的执行引擎改成了Spark,在将ods层的数据装载到dim层,执行insert语句时报如下错误

【报错】

[42000][40000] Error while compiling statement: FAILED: SemanticException Failed to get a spark session: org.apache.hadoop.hive.ql.metadata.HiveException: Failed to create Spark client for Spark session e1e64eb2-bfa8-4e3f-8e3a-d37b88a92c86

这个错误表示Hive无法为Spark会话创建Spark客户端,可能是由于Spark会话创建失败导致的。

【原因】

经过排查,发现导致该问题的原因是当队列资源达到100%后,如果短期内都没有任务空余资源释放出来提供给创建 sparksession使用,将会导致任务失败而抛出这个异常 。

【解决】

加大client连接时间间隔;

修改hive的配置文件hive-site.xml

  1. <!--Hive和Spark连接超时时间-->
  2. <property>
  3. <name>hive.spark.client.connect.timeout</name>
  4. <value>100000ms</value>
  5. </property>

注意注意:每次改完这个配置文件需要重启hiveserver2,我封装了这个脚本

  1. hi.sh stop
  2. hi.sh start

再重跑insert

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/482944
推荐阅读
相关标签
  

闽ICP备14008679号