Hive——第二章(Hive基本操作)

基礎知識:

  • hive常用命令

1.創建新表

CREATE TABLE t_hive (a int, b int, c int) ROW FORMAT DELIMITED FIELDS TERMINATED BY ;

例如:

create table user_info (user_id int, cid string, ckid string, username string)

row format delimited

fields terminated by

lines terminated by
;

導入數據表的數據格式是:欄位之間是tab鍵分割,行之間是斷行。

2.導入數據t_hive.txt到t_hive表

LOAD DATA LOCAL INPATH /home/cos/demo/t_hive.txt OVERWRITE INTO TABLE t_hive ;

3.正則匹配表名

show tables *t*;

4.增加一個欄位

ALTER TABLE t_hive ADD COLUMNS (new_col String);

5.重命令表名

ALTER TABLE t_hive RENAME TO t_hadoop;

6.從HDFS載入數據

LOAD DATA INPATH /user/hive/warehouse/t_hive/t_hive.txt OVERWRITE INTO TABLE t_hive2;

7.從其他表導入數據

INSERT OVERWRITE TABLE t_hive2 SELECT * FROM t_hive ;

8.創建表並從其他表導入數據

CREATE TABLE t_hive AS SELECT * FROM t_hive2 ;

9.僅複製表結構不導數據

CREATE TABLE t_hive3 LIKE t_hive;

10.通過Hive導出到本地文件系統

INSERT OVERWRITE LOCAL DIRECTORY /tmp/t_hive SELECT * FROM t_hive;

11.Hive查詢HiveQL

from ( select b,c as c2 from t_hive) t select t.b, t.c2 limit 2;

select b,c from t_hive limit 2;

12.創建視圖

CREATE VIEW v_hive AS SELECT a,b FROM t_hive;

13.刪表

drop table if exists t_hft;

14.創建分區表

DROP TABLE IF EXISTS t_hft;

CREATE TABLE t_hft(

SecurityID STRING,

tradeTime STRING,

PreClosePx DOUBLE

) PARTITIONED BY (tradeDate INT)

ROW FORMAT DELIMITED FIELDS TERMINATED BY ,;

15.導入分區數據

load data local inpath /home/BlueBreeze/data/t_hft_1.csv overwrite into table t_hft partition(tradeDate=20130627);

16.查看分區表

SHOW PARTITIONS t_hft;

2.1、Hive基本操作

1、本地文件導入表的測試

1)在本地新建「生詞本」

相關命令與內容:

  1. vim vocab.txt

  2. ------------------------------內 容------------------------------

  3. 1.ability

  4. 2.ambition

  5. 3.headquarters

  6. 4.industrialize

  7. ------------------------------內 容------------------------------

2)進入hiveshell模式

相關命令:

  1. hive

注意:當環境變數設置後才能直接使用以上命令。

3)建立新表並查看存在新表與新表結構

建立一個存放「生詞本」單詞的表格,欄位之間是「.」分割。

相關命令:

  1. create table VOCAB(num int,word string)row format delimited fields terminated by .;

  2. show tables;

  3. desc VOCAB;

4)導入數據到表中

相關命令:

  1. load data local inpath /home/hadoop/vocab.txt overwrite into table VOCAB;

5)查詢表中內容

相關命令:

  1. select * from VOCAB;

2、詞頻統計

1)在本地建立不完全相同的詞頻文件

相關命令與內容:

  1. vim wordCount.txt

  2. ------------------------------內 容------------------------------

  3. I,100

  4. have,1000

  5. a,200

  6. pen,3000

  7. you,2222

  8. are,777

  9. amazing,9999

  10. ------------------------------內 容------------------------------

2)進入hiveshell模式

相關命令:

  1. hive

3)建立新表並查看存在新表與新表結構

建立一個存放不完全相同的詞頻單詞的表格,欄位之間是「,」分割。

相關命令:

  1. create table WOCO(word string,count int)row format delimited fields terminated by ,;

  2. show table;
  3. desc WOCO;

4)導入數據到表中

相關命令:

  1. load data local inpath /home/hadoop/wordCount.txt overwrite into table WOCO;

5)查詢表中內容

相關命令:

  1. select * from WOCO;

6)使用命令進行mapreduce篩選查詢

相關命令:

  1. select WOCO.word from WOCO;

  2. select * from WOCO where WOCO.count>1000; //篩選滿足出現次數大於1000的單詞

  3. select * from WOCO sort by count desc limit 3;//通過降序來篩選單詞

推薦閱讀:

Hive JDBC入門示例
Pig 和 Hive 在性能上有何差別?
大數據那些事(7):騰飛的拉丁豬
原創乾貨 | Hive與HBase的集成實踐
在Hive中適不適合像傳統數據倉庫一樣利用維度建模?

TAG:大數據 | Hadoop | Hive |