hive安裝及使用

Hive是Hadoop一個程序接口,Hive讓數據分析人員快速上手,Hive使用了類SQL的語法,Hive讓JAVA的世界變得簡單而輕巧,Hive讓Hadoop普及到了程序員以外的人。

從Hive開始,讓分析師們也能玩轉大數據。


裝好hadoop的環境後,我們可以把Hive裝在namenode機器上(c1)。

1、設置HIVE環境變量


2、進入hive_home/conf下拷貝模板文件爲配置文件

~ cp hive-default.xml.template hive-site.xml
~ cp hive-log4j.properties.template hive-log4j.properties

3、修改hive-site.xml配置文件
把Hive的元數據存儲到MySQL中


<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://c1:3306/hive_metadata?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>

<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>

<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
<description>username to use against metastore database</description>
</property>

<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
<description>password to use against metastore database</description>
</property>

<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
<description>location of default database for the warehouse</description>
</property>


4、在hdfs上面,創建目錄

$HADOOP_HOME/bin/hadoop fs -mkidr /tmp
$HADOOP_HOME/bin/hadoop fs -mkidr /user/hive/warehouse
$HADOOP_HOME/bin/hadoop fs -chmod g+w /tmp
$HADOOP_HOME/bin/hadoop fs -chmod g+w /user/hive/warehouse


5、在MySQL中創建數據庫


create database hive_metadata;
grant all on hive_metadata.* to hive@'%' identified by 'hive';
grant all on hive_metadata.* to hive@localhost identified by 'hive';
ALTER DATABASE hive_metadata CHARACTER SET latin1;


6、手動上傳mysql的jdbc庫到hive/lib


~ hive_home/lib
mysql-connector-java-5.1.22-bin.jar


7、#啓動metastore服務
~ bin/hive --service metastore &
Starting Hive Metastore Server

#啓動hiveserver服務
~ bin/hive --service hiveserver &
Starting Hive Thrift Server

#啓動hive客戶端
~ bin/hive shell
Logging initialized using configuration in file:/root/hive-0.9.0/conf/hive-log4j.properties
Hive history file=/tmp/root/hive_job_log_root_201211141845_1864939641.txt

hive> show tables
OK



2. Hive的基本使用

新建表



創建數據(文本以tab分隔)
~ vi /home/cos/demo/t_hive.txt

16      2       3
61      12      13
41      2       31
17      21      3
71      2       31
1       12      34
11      2       34

#創建新表
hive> CREATE TABLE t_hive (a int, b int, c int) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';

#導入數據t_hive.txt到t_hive表
hive> LOAD DATA LOCAL INPATH '/home/cos/demo/t_hive.txt' OVERWRITE INTO TABLE t_hive ;



查看錶和數據


#查看錶 
hive> show tables;
OK
t_hive
Time taken: 0.099 seconds

#正則匹配表名
hive>show tables '*t*';
OK
t_hive
Time taken: 0.065 seconds

#查看錶數據
hive> select * from t_hive;


刪除表


DROP TABLE t_hadoop;


5. 數據導出

從HDFS複製到HDFS其他位置

hadoop fs -cp /user/hive/warehouse/t_hive /

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

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


#查看本地操作系統
hive> ! cat /tmp/t_hive/000000_0;



6. Hive查詢HiveQL



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章