hive 中刪除字段 去掉字段

2022-09-19 14:24:11 字數 2477 閱讀 2415

hive中沒有直接刪除欄位的操作,只有 add/replace 

做個測試:

1)建表操作

create

table

ifnot

exists

temp

.test1(

'申請號

',data_dt string comment '日期

',flag string comment '標識

',age

decimal(20,6) comment '年齡'

,money_all

decimal(20,6) comment '

money

') comment

'測試表temp1

'partitioned by(

table_name

varchar(50) comment '

表名稱'

,dt

varchar(8) comment '

資料日期')

stored

as textfile;

2)用hive檢視表結構

hive>

desc

temp

.test1;

data_dt string

flag string

age

decimal(20,6

)

money_all

decimal(20,6

)

table_name

varchar(50

)

dt

varchar(8)

3)往表裡插入資料

insert

into

temp.test1 values('

b20220125cde

','20220125

','',25,999999999,'

sh001_sh001_jiebei_test1

','20220125

');

4)檢視具體檔案內容

[zw

@hadoop ~

]$ hdfs dfs -cat /

user

/hive/warehouse/temp.db/test1/table_name=sh001_sh001_jiebei_test1/dt=

20220125

/000000_0

b20220125cde2022012525.

000000999999999.000000

5)修改字段(刪除後兩個字段)

alter

table

temp.test1 replace

columns (

'申請號

',data_dt string comment '日期

',flag string comment '標識

');

6)檢視字段

hive>

desc

temp

.test1;

okdata_dt string

flag string

table_name

varchar(50

)

dt

varchar(8)

7)查詢資料 (字段已經去掉)

hive>

select

*from

temp

.test1;

okb20220125cde

20220125 sh001_sh001_jiebei_test1 20220125

8)檢視具體檔案內容(檔案內容是沒有變的)

[zw

@hadoop ~

]$ hdfs dfs -cat /

user

/hive/warehouse/shdata.db/sh001_sh001_jiebei_test1/table_name=sh001_sh001_jiebei_test1/dt=

20220125

/000000_0

b20220125cde2022012525.

000000999999999.000000

Mysql 新增字段 修改字段 刪除字段

alter table 表名 add 欄位名 字段型別 字段長度 default 預設值 comment 注釋 例如 alter table order add code char 6 default null comment 優惠碼 2 修改字段 修改欄位名 字段型別 長度 a 修改欄位名 alt...

Mysql 新增字段 修改字段 刪除字段

alter table 表名 add column 欄位名 字段型別 字段長度 default 預設值 comment 注釋 例如 alter table order add column code char 6 default null comment 優惠碼 2 修改字段 修改欄位名 字段型別 ...

ORACLE新增字段 刪除字段

1.刪除表 drop table sys job 2.建立表 create table create table sys job job id number 30 not null,job name varchar2 30 not null alter table sys job addconstr...