hive同步hbase数据报错 columns has 10elements while hbase.columns.mapping has 11 elements

在尝试将Hive表数据同步到HBase时遇到异常,提示HBase有11个元素而Hive有10个。问题在于HBase表结构默认包含一个'key'字段,而在Hive表中未明确包含。解决方案是在创建Hive表时添加'key'字段,或者在HBase表结构中显式定义'key',以确保字段数量一致。
摘要由CSDN通过智能技术生成

今天做hive建表数据同步hbase时报了下面这个异常。

在这里插入图片描述

翻译过来大致就是hbase中有11个字段,而hive中只有10个字段,很明显需要同步数据的两个表的字段数不一致!
在这里插入图片描述

但问题可没有简单!

在反复确认业务需求的字段数为10个,我就开始纳闷了为啥异常中总说Hbase中有11个字段?

在这里插入图片描述

后来查了多方资料后终于得出了答案:

在创建hive/hbase相关联的表时,hbase表结构默认会有一个字段key,如果没有一个显示的字段’key’那么在创建表的进修,会自己创建,这样hive对应的表就会出现问题,所以在hive对应的表里一定要加上key这个字段,为了避免这个问题,在hbase表结构里可以显示的添加’key’字段,这样不容易出问题。

所以我们在创建的hive表中再加一个string 类型的 key就好了٩(๑❛ᴗ❛๑)۶

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据梦想家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值