hive 基本命令

2021-08-31 23:28:03 字數 2336 閱讀 4270

1. 建立

create: 建立資料庫、表、檢視

初級:create [database/table/view/schema] name;   在sql引擎內,均可用schema代替database

高階:create database if not exists name with dbproperties('creator'='binbin','date'='2018-11-15') ;  建立資料庫時給庫新增其屬性字段;也可在後面加 location '路徑'  指定儲存位置,如果未指定的話其會存在資料庫所在的目錄位於屬hive.metasotre.warehouse.dir 所指定的頂層目錄之後;可以用

desc database extended name
檢視資料庫的屬性:即儲存位置,編輯資訊等。注意,除 dbproperties屬性外,資料庫的元資料資訊都是不可更改的,包括資料庫名和資料庫所在的目錄位置,沒有辦法刪除或重置資料庫屬性

create database if not exists hive with dbproperties('creator'='binbin');
use hive;

create table if not exists usr(id bigint,name string,age int);

create view little_usr as select id,age from usr;
btw:建立表時,未指定分隔符的時候,其預設分隔符為ascii碼的控制符\001,到時候load資料操作起來有點麻煩,所以最好在建立表時就把分隔符指定了.我在下面指定的分隔符是空格,你在準備資料檔案的時候以空格分割即可。不過一般最後以製表符『/t』來作為分隔符。

drop table usr;

create table if not exists usr(id bigint,name string,age int)row format delimited fields terminated by ' ';

load data local inpath '/home/binbin/documents' overwrite into table usr;

hive> select * from usr;

ok16521 'zhangsan' 20

16522 'lisi; 20

16523 'wangwu' 22

在hive資料庫中建立外部表usr1,可以讀取路徑/usr/local/data下以「,」分隔的資料,還存在分割槽字段***

create external table if not exists hive.usr1(id bigint,name string,age int) partitioned by(*** boolean) row format delimited fields terminated by ',' location '/usr/local/data';
2.增

3.刪drop 【database\table\schema\view】if exists name

3.1 表刪除分割槽字段

alter table my_partition_test_table drop if exists partition (p_loctype='mha');
4.查

4.1檢視資料庫,表,檢視名

show 【databases\tables\schemas\views】 name

4.2檢視資料庫,表,檢視結構

4.3describe/desc 【database\table\schema\view】name

檢視表中資料

select * from table_name;

檢視表型別

desc extended table_name

可以檢視表是否是管理表或外部表;[如果輸出中有 tabletype:managed_talbe表明是託管表,tabletype:external_talbe 外部表]

5.改5.1 改資料庫編輯屬性

alter database name set dbproperties(『edited-by』=』binbin』);

5.2 分割槽表新增分割槽字段

alter table my_partition_test_table if not exists add partition (p_hour='2017113003', p_city='573', p_loctype='mha');
ps:分割槽理解:

HIVE基本命令解析

hive 啟動 hive quit 退出hive hive exit exit會影響之前的使用,所以需要下一句kill掉hadoop的程序 hadoopjob killjobid hive create database database name 建立資料庫 如果資料庫已經存在就會丟擲乙個錯誤資訊...

hive最基本命令

建立資料庫 create database database name 如果不知道是否已經存在 create database if not exists database name 檢視hive中包含的資料庫 show databases 如果資料庫非常多可以使用正規表示式篩選顯示 舉例查詢 h有...

Hive的基本命令(1)

文字資料1 sample2.txt a 1950 0 1 b 1950 22 1 a 1950 11 1 b 1949 111 1 a 1949 78 1 檔案資料2 sample3.txt a 1950 23 1 b 1949 22 1 c 1950 2 1 a 1949 0 1 1.建立一外部 ...