一 使用Hive CLI (old)命令行工具操作HiveQL
進(jìn)入hive cli
[root@master /]# hive
創(chuàng)建統(tǒng)計(jì)表
hive> create table wctest(line凭语,content string);
導(dǎo)入數(shù)據(jù)
可以將本地文本文件內(nèi)容批量加載到Hive 表中葱她,要求文本文件中的格式和Hive 表的定義一致,包括:字段個(gè)數(shù)似扔、字段順序吨些、列分隔符都要一致。
這里的dealer_info 表的表定義是以\t 作為列分隔符炒辉,所以準(zhǔn)備好數(shù)據(jù)后豪墅,將文本文件拷貝到hive 客戶端機(jī)器上后,執(zhí)行加載命令黔寇。load data local inpath '/home/hadoop/dealerinfodata.txt' overwrite into table dealer_info;
-
local
關(guān)鍵字表示源數(shù)據(jù)文件在本地偶器,源文件可以在HDFS 上,如果在HDFS 上缝裤,則去掉local
屏轰,inpath 后面的路徑是類似”hdfs://namenode:9000/user/datapath”這樣的HDFS 上文件的路徑。 -
overwrite
關(guān)鍵字表示如果hive 表中存在數(shù)據(jù)憋飞,就會覆蓋掉原有的數(shù)據(jù)霎苗。如果省略overwrite
,則默認(rèn)是追加數(shù)據(jù)榛做。加載完成數(shù)據(jù)后叨粘,在HDFS 上就會看到加載的數(shù)據(jù)文件猾编。
hive>load data inpath '/user/root/wordcount_in/wordcount' overwrite into table wctest;
進(jìn)行統(tǒng)計(jì)
hive>select a.word,count(*) from (select explode(split(wordcontent,' ')) word from wctest)a group by word;
退出Hive CLI
hive> quit;
[root@master /]#
mysql 中的hive數(shù)據(jù)庫存儲的是hive操作管理下的字段定義,以及hive數(shù)據(jù)文件的存儲位置
mysql> show tables;
表名 | 標(biāo)識 |
---|---|
COLUMNS_V2 | hive 表中的數(shù)據(jù)類型 |
DBS | hive 上的數(shù)據(jù)庫列表 |
SDS | hive 表物理路徑 |
二 使用Beeline CLI (new)命令行工具操作HiveQL
Beeline version 2.1.1 by Apache Hive
進(jìn)入beenline
[root@master /]# beeline
beeline>
鏈接
beeline> !connect jdbc:hive2://192.168.137.121:10000
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/tools/apache-hive-2.1.1-bin/lib/log4j-slf4j-impl-2.4.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/hadoop-2.6.4/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Connecting to jdbc:hive2://192.168.137.121:10000
Enter username for jdbc:hive2://192.168.137.121:10000: root
Enter password for jdbc:hive2://192.168.137.121:10000:
Connected to: Apache Hive (version 2.1.1)
Driver: Hive JDBC (version 2.1.1)
17/06/08 11:36:34 [main]: WARN jdbc.HiveConnection: Request to set autoCommit to false; Hive does not support autoCommit=false.
Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:hive2://192.168.137.121:10000>
操作同Hive CLI
退出beenline
0: jdbc:hive2://192.168.137.121:10000> !quit
Closing: 0: jdbc:hive2://192.168.137.121:10000
[root@master /]#