hive新增字段后连接mysql修改_【解决方案】hive新增的字段Spark.saveAsTable读不到增加字段...

当使用Spark.saveAsTable写入Hive表时遇到错误,原因是通过Hive命令行添加了新字段。问题定位为Hive表的元数据与实际字段不匹配。解决方法是更新Hive元数据表中的schema信息,确保与实际表结构一致。此问题提醒我们在变更表结构后需同步更新所有依赖该表的元数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、场景描述

Spark.saveAsTable写入hive 任务突然失败,由于hive 通过命令行新加字段

alter table XXXX add

导致之后的spark任务出错。

2、问题定位

查看建表语句

show create table test_snappy;

发现前后字段不一致,spark.sql.sources.schema.part.0 缺少新增字段信息

f98d6361bb67

hive shell截图.png

3、解决思路

通过修改hive 元数据表中的schema 使前后字段信息保持一直。

4、hive的元数据表mysql 关联的表

//通过 tbls 查找TBL_ID

select * from tbls where TBL_NAME='test_snappy';

//通过 table_params 查找 对应的schema 信息

select * from table_params where TBL_ID=502 and PARAM_KEY='spark.sql.sources.schema.part.0';

//通过 修改schema ,把缺少的字段按照格式添加进去即可。

UPDATE table_params

set

PARAM_VALUE='............'

where TBL_ID=502 and PARAM_KEY='spark.sql.sources.schema.part.0'

4、反思

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值