簡體   English   中英

在刪除配置單元內部表時保留數據

[英]preserve the data while dropping a hive internal table

我已經將一個巨大的表從SQL Server加載到Hive。 我犯的錯誤是我在HIVE中將表創建為內部表。 任何人都可以提出任何建議,以便我可以更改表結構而不丟失數據。 數據非常龐大,我負擔不起再次從源導出數據。

現在的問題是,由於列順序與SQL Server表不匹配,因此許多列顯示NULL。

任何幫助將不勝感激。

我看不到在內部表上使用Alter Table的任何問題。 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-AlterTable/Partition/Column

另一個(但不推薦)的選擇是打開您的配置單元metastore(HCatalog)並在其中應用更改。 Hive從關系數據庫中讀取架構信息(在Hadoop設置期間配置,默認為MySQL)。 在此MySQL中,您可以嘗試更改某些設置。 但是,不建議這樣做,因為這樣做有誤,您可以破壞整個Hive數據庫。

最安全的方法是創建一個新表並將現有表用作源

create table new_table
as
select
[...]
from existing_table

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM