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

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

翻译过来大致就是hbase中有11个字段,而hive中只有10个字段,很明显需要同步数据的两个表的字段数不一致!
hive同步hbase数据报错 columns has 10elements while hbase.columns.mapping has 11 elements

但问题可没有简单!

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

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

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

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

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

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

相关文章:

  • 2021-12-13
  • 2021-10-07
  • 2022-12-23
  • 2021-04-19
  • 2021-10-19
  • 2022-12-23
  • 2021-08-14
  • 2022-12-23
猜你喜欢
  • 2021-10-02
  • 2021-10-25
  • 2022-12-23
  • 2022-01-13
  • 2021-07-25
  • 2022-12-23
  • 2021-09-11
相关资源
相似解决方案