Hive分区表增加字段重跑数据,为何增加的字段无数据

Hive分区表增加字段重跑数据,为何增加的字段无数据,第1张

Hive分区增加字段重跑数据,为何增加的字段无数据 项目场景:

Hive分区表增加字段重跑数据,为何增加的字段无数据

问题描述:

得到一个需求,需要在原来的表上增加字段,增加字段,ok很正常,直接add columns(xxx string),然后就开始重跑数据了,跑完后发现其他数据正常,就刚添加的字段无数据。


原因分析:
  • 数据本身
  • 添加字段失败
  • 分区未检测到

自己更倾向第三种

解决方案:

其实最后就是分区的问题:

  • 大家了解了解Hive,就知道,当他建立了一个分区表后,就会为其指定一个分区id,当我们在对这个分区表进行表结构的 *** 作时候,该分区id并未更新,所以该分区还是记住了以前的字段,这就导致了我们录入数据不成功的原因
  • 这个bug是如何产生的呢,emmm,举个例子,现在的时间20211216,假设我们对其几天前的分区表进行 *** 作,就 *** 作20211210的时候的,直接对分区表进行增加字段,就出现了
  • 有效的解决方法是,你可以删除该分区,然后进行重建,或者取更新该分区都是不错的方法。
  • 这里不推荐删除的方法,假如存在数据很重要,删除的数据就回不来了,可以考虑创建一个另外一个表,把数据导入到那张表中,在进行 *** 作。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5676407.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存