hive建表及表操作

2021-09-18 06:24:01 字數 2062 閱讀 9031

建表的三種形式

1.直接建表

create [external] table [if not exists] tab_name

( row_1 type,

row_2 type )

partition by (row_3 type,type_4 type )

row format delimited fields terminated by 』 a』

stored as b location 'c ';

[external] ;設定為外部表,不設定時候,預設為內部表

[if not exists]:這個防止表已經存在是報異常

partition by :設定分割槽字段

a:設定列的分隔符(不設定預設為『、001』)

b:為表的儲存檔案格式(不設定預設txt格式)

c:為資料儲存儲存路徑(不設定預設為系統設定路徑)

2.查詢建表法

create [external] table [if not exists] tab_name

row format delimited fields terminated by 』 a』

stored as b location 'c 』

asselect name_1,name_2,name3 from tab_name2;

[external] ;設定為外部表,不設定時候,預設為內部表

[if not exists]:這個防止表已經存在是報異常

a:設定列的分隔符(不設定預設為『、001』)

b:為表的儲存檔案格式(不設定預設txt格式)

c:為資料儲存儲存路徑(不設定預設為系統設定路徑)

注意:查詢建表法與其他兩種建表法有乙個不同點,它會把查詢的到的資料一併載入到建的表中

3.like建表法

create [external] table [if not exists] tab_name like tab_2

row format delimited fields terminated by 』 a』

stored as b location 'c ';

[external] ;設定為外部表,不設定時候,預設為內部表

[if not exists]:這個防止表已經存在是報異常

a:設定列的分隔符(不設定預設為『、001』)

b:為表的儲存檔案格式(不設定預設txt格式)

c:為資料儲存儲存路徑(不設定預設為系統設定路徑)

注意:like建標法只會複製tab_2的表字段及字段型別,不會複製資料

4.一些對hive表的基本操作

desc tab_name --檢視表字段

desc formatted tab_name --檢視表結構

alter table tab_name add columns (col_name ,type comment 『字段含義』);–給表新增的新的列(在給分割槽表新增列時候是在除去分割槽列的最後一行新增)

最後說一下我們寫hql常用到的over()函式

–按col_name進行分組,然後按照col_name 降序排序(不考慮是否有相同的)

rank() over(distribute by col_name sort by col_name desc) --按col_name進行分組,然後按照col_name 降序排序(考慮相同的,但是會跳躍 例如 1,2,2,4)

dense_rank() over(distribute by col_name sort by col_name desc) --按col_name進行分組,然後按照col_name 降序排序(考慮相同的,不會跳躍 例如 1,2,2,3)

在介紹下partition與distribute的差別

distribute 是在map端進行分組將相同的放入同乙個reduce中

partiton 是在結束後對所有的資料進行分組

一般該語法在表去重是使用的比較多

關於hive的建表操作

hive 建立外部表語句例項 create external table x mac string,did string,uid string,sid string,tc version string,province string,city string,model string,chip str...

hive建表範例

建表範例 支援update和delete create table aaa id string visitor name string clustered by id into 2buckets stored as orc tblproperties transactional true 目前只有o...

hive建表範例

建表範例 支援update和delete create table aaa id string visitor name string clustered by id into 2buckets stored as orc tblproperties transactional true 目前只有o...