记录一个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

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

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

hi.sh stop
hi.sh start

再重跑insert

相关推荐
lucky_syq28 分钟前
Spark和MapReduce之间的区别?
大数据·spark·mapreduce
lucky_syq1 小时前
Hive SQL和Spark SQL的区别?
hive·sql·spark
NiNg_1_2341 小时前
Hadoop中MapReduce过程中Shuffle过程实现自定义排序
大数据·hadoop·mapreduce
lucky_syq3 小时前
Spark和Hadoop之间的区别
大数据·hadoop·spark
武子康21 小时前
大数据-257 离线数仓 - 数据质量监控 监控方法 Griffin架构
java·大数据·数据仓库·hive·hadoop·后端
NiNg_1_23421 小时前
Spark常用的转化操作和动作操作详解
大数据·ajax·spark
莹雨潇潇1 天前
Hadoop完全分布式环境部署
大数据·hadoop·分布式
岑梓铭1 天前
(CentOs系统虚拟机)Standalone模式下安装部署“基于Python编写”的Spark框架
linux·python·spark·centos
学计算机的睿智大学生1 天前
Hadoop集群搭建
大数据·hadoop·分布式