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 啟動有效。
上述三種設定方式的優先順序依次遞增。即配置檔案<命令列引數<引數宣告。