fs.defaultFS 变更,使spark-sql 查询hive失败原因分析

41 篇文章 7 订阅

这个是粉丝投稿,很有价值,浪尖在这里给大家分享一下,也使得后面有粉丝遇到相同的问题,可以快速的解决,节省时间。

我们在将hdfs换成⾼可⽤后,我们的namede地址发⽣变更,也就是我们的fs.defaultFS发⽣变更后, 需要注意:这些修改会影响到我们的hive的正常运⾏,因为我们hive在建表的时候,其实已经改变了该表 的数据存放路径。会导致我们在提交spark脚本【执⾏spark-sql】的脚本,报错。如下图所示:⼀直显 示,读取⽼的hdfs的namenode路径。

这⾥,我们可以访问我们的hive元数据表 SDS,如下图所示:发现还是以未升级前的namenode地 址,也就是master:9000。

因此,我们需要修改这些存储信息,有两种⽅式:

  1. 直接修改表的信息 

  2. 利⽤hive⾃带的⼯具

metatool -updateLocation <new-location> <old-location>

在装有hive的节点执⾏命令

metatool -updateLocation hdfs://bi hdfs://master:9000/

查询元数据信息是否发⽣更改

metatool -listFSRoot

此时,hive的元数据信息已经发生变更,可以正常使用

推荐阅读:

Apache Flink 与 Apache Hive 的集成

spark sql的map算子范型转换惹的祸!

滴滴 3000+ Kylin Cube 背后的实践经验揭秘

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值