1. 程式人生 > >Hive-安裝環境準備

Hive-安裝環境準備

1、Hive 安裝地址

1)Hive 官網地址: http://hive.apache.org/

2)文件檢視地址: https://cwiki.apache.org/confluence/display/Hive/GettingStarted

3)下載地址: http://archive.apache.org/dist/hive/

4)github 地址: https://github.com/apache/hive

2、Hive 安裝部署

1)Hive 安裝及配置

(1)把 apache-hive-1.2.1-bin.tar.gz 上傳到 linux 的/opt/software 目錄下

(2)解壓 apache-hive-1.2.1-bin.tar.gz 到/opt/module/目錄下面

(3)修改 apache-hive-1.2.1-bin.tar.gz 的名稱為 hive

(4)修改/opt/module/hive/conf 目錄下的 hive-env.sh.template 名稱為 hive-env.sh

(5)配置 hive-env.sh 檔案

2)Hadoop 叢集配置

(1)必須啟動 hdfs 和 yarn

sbin/start-dfs.sh

sbin/start-yarn.sh

(2)在 HDFS 上建立/tmp 和/user/hive/warehouse 兩個目錄並修改他們的同組許可權可寫

3)Hive 基本操作

(1)啟動 hive

(2)檢視資料庫

(3)開啟預設資料庫

(4)顯示 default 資料庫中的表

(5)建立一張表

(6)查看錶的結構

(7)向表中插入資料

(8)查詢表中資料

(9)退出 hive

3、將本地檔案匯入 Hive 案例

需求:將本地/opt/module/datas/student.txt 這個目錄下的資料匯入到 hive 的 student(id int, name string)表中。

1)資料準備:在/opt/module/datas/student.txt 這個目錄下準備資料

(1)在/opt/module/目錄下建立 datas

(2)在/opt/module/datas/目錄下建立 student.txt 檔案並新增資料,注意以 tab 鍵間隔。

2)Hive 實際操作

(1)、啟動hive

(2)使用 default 資料庫、顯示 default 資料庫中的表

(3)刪除已建立的 student 表

(4)建立 student 表, 並宣告檔案分隔符’\t’

(5)載入/opt/module/datas/student.txt 檔案到 student 資料庫表中。

(6)Hive 查詢結果

3)遇到的問題

再開啟一個客戶端視窗啟動 hive,會產生 java.sql.SQLException 異常。

原因是,Metastore 預設儲存在自帶的 derby 資料庫中,推薦使用 MySQL 儲存 Metastore;

4、MySql 安裝

此處用之前docker下安裝的mysql,啟動mysql後,客戶端檢視mysql資料庫中的user表如下:

5、Hive 元資料配置到 MySql

5.1、驅動拷貝

拷貝驅動檔案mysql-connector-java-5.1.27-bin.jar到/opt/module/hive/lib/下

5.2、配置 Metastore 到 MySql

1)在/opt/module/hive/conf 目錄下建立一個 hive-site.xml

2)根據官方文件配置引數,拷貝資料到 hive-site.xml 檔案中。

3)配置完畢後,如果啟動 hive 異常,可以重新啟動虛擬機器。

5.3、多視窗啟動 Hive 測試

啟動hive正常後,發現mysql多一個數據庫metastore,再次開啟多個視窗,分別啟動 hive不再報異常。

6、Hive 常用互動命令

1)“-e”不進入 hive 的互動視窗執行 sql 語句

(2)執行檔案中的 sql 語句

6、Hive 常見屬性配置

6.1、Hive 資料倉庫位置配置

修改 default 資料倉庫原始位置(將 hive-default.xml.template 如下配置資訊拷貝到 hive-site.xml 檔案中)

6.2、查詢後資訊顯示配置

1)在 hive-site.xml 檔案中新增如下配置資訊,就可以實現顯示當前資料庫,以及查詢 表的頭資訊配置。

2)重新啟動 hive,對比配置前後差異

6.3、Hive 執行日誌資訊配置

1)Hive 的 log 預設存放在/tmp/root/hive.log 目錄下(當前使用者名稱下)。

2)修改 hive 的 log 存放日誌到/opt/module/hive/logs

(1)修改/opt/module/hive/conf/hive-log4j.properties.template 檔名稱為hive-log4j.properties

(2)在 hive-log4j.properties 檔案中修改 log 存放位置

6.4、引數配置方式

1)檢視當前所有的配置資訊

2)引數的配置三種方式

(1)配置檔案方式

預設配置檔案:hive-default.xml

使用者自定義配置檔案:hive-site.xml

注意:使用者自定義配置會覆蓋預設配置。

(2)命令列引數方式

啟動 Hive 時,可以在命令列新增-hiveconf param=value 來設定引數。 例如:

注意:僅對本次 hive 啟動有效

(3)引數宣告方式

可以在 HQL 中使用 SET 關鍵字設定引數,例如:

注意:僅對本次 hive 啟動有效。

上述三種設定方式的優先順序依次遞增。即配置檔案<命令列引數<引數宣告。