網站首頁 編程語言 正文
新增字段
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底層是文件和系列化的設計,因此查數據會發現新增的列在所有已有列的后面
CASCADE會刷歷史分區字段
cascade知識
- cascade的中文翻譯為“級聯”,也就是不僅變更新分區的表結構(metadata),同時也變更舊分區的表結構。
- 對于刪除操作也是,級聯刪除表中的信息,當表A中的字段引用了表B中的字段時,一旦刪除B中該字段的信息,表A的信息也自動刪除。(當父表的信息刪除,子表的信息也自動刪除)
- 標準語法如下:
2、方法2 (適用于外部表)
當分區過多的情況下,直接使用alter就行增加字段會報錯
第一步:刪除分區 ,當分區過多可以寫個for循環
alter table table_name drop if exists partition(par_col=col_name)
第二步:使用alter操作就行添加字段,這時候就不會因為分區過多報錯
第三步:進行修復分區
msck repair table 表名;
3、方法3(下下策)
創建新表修改表名,進行存儲原表數據
將原表進行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);
語句中只寫想要保留的字段就可以
原文鏈接:https://blog.csdn.net/qq_42456324/article/details/120202236
相關推薦
- 2022-07-15 C++?DLL動態庫的創建與調用(類庫,隱式調用)_C 語言
- 2022-07-16 BOM與DOM的進階知識
- 2024-03-20 spring-boot-maven-plugin報紅的解決辦法
- 2023-06-21 Android應用啟動白屏處理方案詳解_Android
- 2022-06-29 Python解決非線性規劃中經濟調度問題_python
- 2022-06-07 Python接口自動化之文件上傳/下載接口詳解_python
- 2022-09-14 apache虛擬主機配置的三種方式(小結)_Linux
- 2023-10-14 SQL Server 執行sql報錯'sys.sp_OACreate' 的訪問
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支