人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

hive數(shù)據(jù)倉庫新增字段方法

發(fā)布日期:2022-07-15 19:25 | 文章來源:CSDN

新增字段

1、方法1

alter table 表名 add columns (列名 string COMMENT '新添加的列') CASCADE;
alter table 表名 add columns (列名 string COMMENT '新添加的列');
hive表中指定位置增加一個字段
分兩步,先添加字段到最后(add columns),然后再移動到指定位置(change)
alter table 表名 add columns (列名 string comment '當前時間'); -- 正確,添加在最后
alter table 表名 change 列名 string after 指定位置的列名; -- 正確,移動到指定位置,address字段的后面

添加之后字段由于hive底層是文件和系列化的設計,因此查數(shù)據(jù)會發(fā)現(xiàn)新增的列在所有已有列的后面

CASCADE會刷歷史分區(qū)字段

cascade知識

  • cascade的中文翻譯為“級聯(lián)”,也就是不僅變更新分區(qū)的表結構(metadata),同時也變更舊分區(qū)的表結構。
  • 對于刪除操作也是,級聯(lián)刪除表中的信息,當表A中的字段引用了表B中的字段時,一旦刪除B中該字段的信息,表A的信息也自動刪除。(當父表的信息刪除,子表的信息也自動刪除)
  • 標準語法如下:

2、方法2 (適用于外部表)

當分區(qū)過多的情況下,直接使用alter就行增加字段會報錯

第一步:刪除分區(qū) ,當分區(qū)過多可以寫個for循環(huán)

alter table table_name drop if exists partition(par_col=col_name)

第二步:使用alter操作就行添加字段,這時候就不會因為分區(qū)過多報錯

第三步:進行修復分區(qū)

msck repair table 表名;

3、方法3(下下策)

創(chuàng)建新表修改表名,進行存儲原表數(shù)據(jù)

將原表進行drop,再對新表進行改名操作

ALTER TABLE old_name RENAME TO new_name;

修改字段

alter table table_name change column 已有列 修改名稱 類型 comment '';

刪除列

Hive不能直接刪除列,不然底層系列化就亂了,我們可以通過replace語句來替換整張表的字段,達到同樣的效果

alter table table_name replace columns(column_1 string);

語句中只寫想要保留的字段就可以

以上就是hive中新增字段方法的詳細內(nèi)容,更多關于hive新增字段的資料請關注本站其它相關文章!

香港快速服務器

版權聲明:本站文章來源標注為YINGSOO的內(nèi)容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內(nèi)容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務

7x24全年不間斷在線

專屬顧問服務

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務熱線

關注
微信

關注官方微信
頂部