在已有的hive表新增一列,然後對新增列之前的分區寫入資料,hive查詢該列全是null,但presto查詢是有資料的
- 一、造成hive查詢為null的原因是?
- 總結:
一、造成hive查詢為null的原因是?
原因是修改Hive分區表結構以後,中繼資料庫中的SDS中該表對應的CD_ID會改變,但是該表分區下面對應的CD_ID還是原來表的CD_ID。SDS表主要儲存檔案存儲的基本資訊,如INPUT_FORMAT、OUTPUT_FORMAT、是否壓縮等。
參考https://blog.csdn.net/gxd520/article/details/92791487?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.not_use_machine_learn_pai&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.not_use_machine_learn_pai
總結:
通常對已有的hive表增加一列,可以這樣操作:
- 如果不需要補曆史分區的資料,則可以直接新增一列
- 如果需要對新增列補曆史分區資料,則建議将表資料備份,重建表結構,然後把資料導入到新表