Spark提交参数--files的使用

本文主要探讨了一个关于Spark任务在计算集群执行时,尝试将数据写入存储集群的Hive中遇到的问题。尽管写入HBase成功,但写入Hive始终指向计算集群的Hive。作者通过检查Spark运行环境的配置、分析代码以及提交参数,发现代码提交到集群后,配置文件被集群的默认配置覆盖。解决方案包括在代码中显式加载自定义配置文件,并在提交任务时通过`--files`参数指定配置文件的位置。此问题涉及到Hadoop的高可用配置、Spark配置管理以及跨集群数据操作。

项目场景:

我们有两个集群(ps:计算集群/存储集群),现在有个需求就是,计算集群运行Spark任务,从kafka取数据写到存储集群的hive


问题描述

跨集群读写数据,我们测试了写hbase是可以从计算集群向存储集群写的,而且能写进去。
但是一旦写hive 他就是写不存储集群的hive中,每次都只写到了计算集群的hive中。
这让我很费解,而且我在本地IDEA上测试的时候,就能写到存储集群的hive中,一旦上小海豚放集群上跑 他就写跑偏了,就给写到计算集群的hive里面了。
我在resource文件夹下也放了存储集群的core-site.xml hdfs-site.xml hive-site.xml文件了, 代码里我也写了changeNameNode方法了。但是程序运行时好像还是无法切换到存储集群的NN上去
在这里插入图片描述

/***
   * @Author: lzx
   * @Description:
   * @Date: 2022/5/27
   * @Param session: bulid好的Sparkssion
   * @Param nameSpace: 集群的命名空间
   * @Param nn1: nn1_ID
   * @Param nn1Addr: nn1对应的IP:host
   * @Param nn2: nn2_ID
   * @Param nn2Addr:  nn2对应的IP:host
   * @return: void
   **/
  def changeHDFSConf(session:SparkSession,nameSpace:String,nn1:String,nn1Addr:String,nn2:String,nn2Addr:String)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值