1. 程式人生 > >大資料求索(4):Hive安裝和使用

大資料求索(4):Hive安裝和使用

Hive安裝和使用

Hive環境搭建

  1. Hive下載

    wget https://archive.cloudera.com/cdh5/cdh/5/hive-1.1.0-cdh5.7.0.tar.gz

  2. 解壓

    tar -zxvf hive-1.1.00cdh5.7.0.tar.gz -C ~/APP/Hadoop

  3. 環境配置

    系統環境變數配置(vim ~/.bash_profile)

    export HIVE_HOME=/home/hadoop/APP/Hadoop/hive-1.1.0-cdh5.7.0

    export PATH=$HIVE_HOME/bin:$PATH

  4. 檔案配置

    因為資料存放在關係型資料庫裡,所以需要安裝一個mysql

    hive-env.sh

    修改$HADOOP_HOME目錄

    hive-site.xml

    <property>
    	<name>javax.jdo.option.ConnectionURL</name>
    	<value>jdbc:mysql://localhost:3306/sparksql?createDatabaseIfNotExist=true</value>
    </property>
    
    <property>
    	<name>javax.jdo.option.ConnectionDriverName</name
    >
    <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>root</
    value
    >
    </property>
  5. 拷貝mysql驅動到$HIVE_HOME/lib

    這個可以到maven倉庫去下載下來拷貝過去即可

  6. 啟動hive
    $HIME_HOME/bin/hive

    $bin/hive (需先啟動叢集)

    啟動以後,進入hive shell
    可以去檢視mysql資料庫,發現裡面已經多了剛才配置檔案裡面寫的sparksql資料庫,show tables可以發現多了很多表,這些表是hive啟動幫助建立的

Hive 使用

  1. 建立表

    create table hive_wordcount(context string);
    show tables;
    

    可以發現多了一張表

    切換到mysql資料庫裡面,查看錶TBLS(原本是空的),

    select * from TBLS;
    

    可以發現多了一行資料,包括ID、建立時間、擁有者、表名等資訊

    查看錶COLUMNS_V2,可以看到欄位資訊

    select * from COLUMNS_V2;
    
  2. 載入資料到hive表

    可以從本地或者HDFS載入

    load data local(如果從HDFS去掉local) inpath '/home/hadoop/data/data.txt' into table hive_wordcount;
    
    select * from hive_wordcount;
    

    可以看到資料已經載入到表裡了。

  3. hive進行詞頻統計

    這裡需要用到一個函式 :

    load view explode(): 把每行記錄按照指定分隔符進行拆解

    select word, count(1) from hive_wordcount lateral view explode(split(context, ' ')) wc as word group by word;
    

    可以看到結果如下:

    hive-2

    如果我們這時候去重新整理yarn的web介面,可以看到hive提交了mr job到平臺去執行,相當於幫助我們把sql語句轉換成了mr任務,並在yarn執行
    hive-1

    但是hive更加簡單,只要會使用sql即可