HIVE 分割槽表新增欄位後的奇怪現象

2021-06-20 23:00:00 字數 562 閱讀 2598

情況:

表: test_table

已有字段 (a,b,c)

已有分割槽:

day_key=20131201

day_key=20131202

day_key=20131203

需求是需要新增乙個欄位d

並且重新生成 所有分割槽的資料

步驟 1.新增字段:

alter table test_table add columns (d string);

2.執行語句

insert overwrite table test_table

select ....

此時問題產生了:

發現 新加的字段d 列 生成出來的資料

在已有的分割槽中

全是null

解決辦法:

刪除對應的分割槽 day_key=20131201

alter table test_table drop partition (day_key='20131201');

然後再次生成資料 發現d列的資料產生了。

希望能幫助有同樣問題的人。

hive分割槽表新增字段出現新增欄位null的bug

對於hive分割槽表,我們使用alter語句新增欄位後 如alter table table name add columns age int 再重寫之前已經存在的分割槽,會出現使用查詢語句查出來的新增字段顯示null值。例如 表a 分割槽dt,已有分割槽dt a 由於需求新增了乙個字段,然後重新寫...

Hive分割槽表新增欄位為null的bug及解決方法

解決方法 解決該問的關鍵是刪除舊分割槽,因為雖然hdfs上的資料更新了,但是我們查詢的時候仍然查詢的是舊的元資料資訊 即mysql中的資訊 在我們插入完資料之後,需要刪除元資料的舊分割槽 alter table table name drop partition pt d 20170101 然後有兩...

Hive分割槽表新增欄位為null的bug及解決方法

原文 最近工作中遇到乙個問題 對於分割槽表新增字段,向已存在分割槽中插入資料,結果新增欄位的值全部為null。注 是已存在分割槽,新的分割槽並不會產生該問題 無論是內部表還是外部表均有該問題。在新增字段之後及時對錶進行msck repair table 仍然存在問題。問題描述 hive版本 2.2....