Hive(三)常用語法(Hive QL)

2021-07-27 06:35:51 字數 2697 閱讀 1129

1.hive建立資料庫

create

database|schema [if

notexists] ;

2.hive建立表

hive裡一般有兩種表的結構,表和外部表,以下分別是兩種表的建立**:

create

table phone_info(id int,name string,storage string,price double)

row format delimited //代表一行是一條記錄

fields terminated by

'\t'//列是按照table鍵分開

stored as textfile[sequencefile];//二種最常見的儲存格式,一般可以不寫

create

external

table phone_external(id int,name string,price double)

row format delimited

fields terminated by

'\t'

stored as textfile

location '';//這裡填寫外部表資料的hdfs位址

3.hive表中匯入資料

hive表中匯入資料有四種常見的方式:

(1)從本地檔案系統中匯入到hive表

假設本地檔案系統中檔案存在的目錄為/home/xudong

load data local inpath '/home/xudong/***.txt'

into

table phone_info;

(2)從hdfs上匯入資料到hive表

假設hdfs上的目錄為/user/xudong/data

load data inpath '/user/xudong/data/***.txt'

into

table phone_info;

注:和本地檔案匯入不同是沒有local關鍵字

(3)從別的表中查詢出相應的資料並匯入hive表中

insert

into phone_info_like select * from phone_info;

(4)在建立表的時候通過別的表查詢出相應的記錄並插入到所建立的表中。

create

table temp_info

asselect id phone_id,name phone_name,price from phone_info

sort by phone_id;

4.hive刪除表

drop

table

ifexists phone_info;

5.hive建立臨時表儲存中間結果

create

table temp_info

asselect id phone_id,name phone_name,price from phone_info

sort by phone_id;

6.hive簡單的查詢語句

select * from temp_info;

select id phone_id,name phone_name from phone_info;

select a.ip,a.name,b.username from phone_info a inner

join

user b on (a.ip=b.ip);

7.hive批量插入資料到表

create

table phone_info_like like phone_info;//複製表的結構

insert

into phone_info_like select * from phone_info;

insert overwrite phoen_info_like select * from phone_info;//into是追加資料,overwrite是覆蓋以及存在的資料,屬於重複性校驗

8.hive分割槽表

create

table part_table(id int,name string,ip string,city string,date string)

partitioned by (part_flag string)//這裡的分割槽字段可以是表中字段也可以是指定的字段

row format delimited fields terminated by

',';

load data local inpath '/home/xudong/test.txt'

into

table part_table partition(part_flag='part1');

load data local inpath '/home/xudong/test1.txt'

into

table part_table partition(part_flag='part2');

select * from part_table where part_flag='part1';

hive常用語法

指定分隔符為逗號 create table student id string,birthday string,grade int,m1 int,m2 int,m3 int,m4 int,memo string row format delimited fields terminated by 外部...

hive常用語法

hive基本操作 檢視資料庫 show databases 檢視表資訊 show tables 檢視分割槽 show partitions 檢視函式 show functions 檢視詳細資訊 格式模糊 desc extended t tablename 檢視詳細資訊 格式清晰 desc forma...

hive資料操作常用語法

1 建立臨時表 先create臨時表,然後insert資料 insert into tmp table name select from select from 寫查詢語句 tmp 子查詢的別名 2 清空表中的資料 truncate table tablename 3 刪除表中的部分資料 不支援de...