Hive的資料庫和表操作

2021-08-19 06:54:21 字數 3908 閱讀 1894

一、hive資料庫操作

1.1 檢視資料庫

show databases;
使用like關鍵字模糊匹配

# 顯示包含db_字首的資料庫名稱

show databases like

'db_*';

1.2 使用資料庫

use database名稱
1.3 建立資料庫

create

database dbname;

通過location指定資料庫路徑

create

database dbname location 'path路徑';

給資料庫新增描述資訊

create

database dbname comment 'dbname描述資訊';

1.4 刪除資料庫

# 刪除資料庫,這種刪除,需要將資料庫中的表全部刪除,才能刪除資料庫

drop

database dbname;

或者drop

database

ifexists dbname;

cascade強制刪除

# 強制刪除資料庫

drop

database dbname cascade;

1.5 檢視資料庫的詳細描述

desc database dbname;

destribe database dbname;

結果如圖:

二、hive表操作

2.1 顯示資料庫中的表

show tables;
使用like模糊匹配,查詢包含tb_字首的表

show tables like

'tb_*';

或者show tables 'tb_*';

2.1.1 顯示表的分割槽

show partitions tb_test;
2.2 顯示表的詳細資訊

desc tb_name;

describe tb_name;

2.3 建立表建表語法:

create [external] table [if not exists] table_name (

col_name data_type [comment '字段描述資訊']

col_name data_type [comment '字段描述資訊'])

[comment '表的描述資訊']

[location '指定表的路徑']

[partitioned by (col_name data_type,...)]

[clustered by (col_name,col_name,...)]

[sorted by (col_name [asc|desc],...) into num_buckets buckets]

[row format row_format]

[location location_path]

2.2.1 簡單的表建立

create

table tb_test(name string, age int);

2.2.2 指定字段分隔符

create

table tb_test(name string,age int)

row format delimited fields terminated by

',';

2.2.3 建立外部表

create

external

table tb_test(name string,age int)

row format delimited fields terminated by

',';

2.2.4 建立分割槽表

create

table tb_part(name string,age int)

partitioned by (*** string)

row format delimited fields terminated by

',';

2.2.5 建立表,指定location

create

table tb_location(name string,age int)

row format delimited fields terminated by

','location 'hdfs:';

2.2.6 建立帶桶的表

create

table student(id int,name string,age int)

partitioned by (*** string)

clustered by(id)

sorted by (age) into

2 buckets

row format delimited fields terminated by

',';

2.3 刪除表

drop

table tb_name;

drop

table

ifexists tb_name;

2.4 修改表2.4.1 新增分割槽

# 按照***='male',***='female'進行分割槽

alter

table student add partition(***='male') partition(***='female');

2.4.2 刪除分割槽

alter

table student drop partition(***='male');

2.4.3 重新命名表

alter

table table_name rename to new_table_name;

2.4.4 增加列

alter

table student add columns (rank string);

或者alter

table student replace columns (height string);

補充:hive使用shell命令和dfs命令

在hive客戶端中,可以通過前面新增!可以使用shell命令,如圖:

2 2 0Hive資料庫表的操作

hive資料庫表的操作 一 建立資料庫 1.create database語句 hive資料庫是乙個命名空間或標的集合。語法 craete database schema if notexists 2.建立資料庫 3.檢視是否建立成功 二 檢視資料庫資訊 1.檢視資料庫的描述資訊和檔案目錄位置路徑資...

資料庫和表的操作

建立資料庫 create database if not exists 庫名 character set 字符集名 修改庫 alter database 庫名 character set 字元集合 如想修改資料庫名,直接通過修改資料夾名的方式去修改 刪庫 drop database 表的操作 建立表...

HIVE 資料庫臨時表

hive從0.14.0開始提供建立臨時表的功能,表只對當前session有效,session退出後,表自動刪除。語法 create temporary table 注意點 1 如果建立的臨時表表名已存在,那麼當前session引用到該錶名時實際用的是臨時表,只有drop或rename臨時表名才能使用...