Hive學習目錄
- Hive官網
- Hive概述
- Hive安裝部署
- Hive的指令行操作
Hive官網
- Hive官網文檔可以全方位,多角度的诠釋一門技術,就是有點費時間,還是建議先看視訊入門,然後再看書,或者文檔.
Hive概述
- Apache Hive ™是一款建立在Hadoop之上的開源資料倉庫,可以将存儲在Hadoop檔案中的結構化、半結構化資料檔案映射為一張資料庫表,基于表提供了一種類似SQL的查詢模型,稱為Hive查詢語言(HQL),用于通路和分析存儲在Hadoop檔案中的大型資料集.
- HQL可以把sql轉換為map-reduce執行,爽的一批.
大資料姊妹篇之HiveHive官網Hive概述Hive安裝部署Hive的指令行操作
Hive安裝部署
- 伺服器基礎環境
- hadoop叢集環境
- mysql安裝
- Hive安裝包下載下傳, 這裡以3.1.2為例,下載下傳到/opt/software目錄,解壓到/opt/module目錄,并重命名為hive-3.1.2
- 配置環境變量:
, 編輯完成後vi /etc/profile
使環境變量生效source/etc/profile
# Hive Home export HIVE_HOME=/opt/module/hive-3.1.2 export PATH=$HIVE_HOME/bin:$HIVE_HOME/sbin:$PATH
- 進入到conf目錄下:
cd /opt/module/hive-3.1.2/conf
- 腳本重命名并添加内容,
1. cp hive-env.sh.template hive-env.sh 2. vi hive-env.sh
export HADOOP_HOME=/opt/module/hadoop-3.2.2/ export HIVE_CONF_DIR=/opt/module/hive-3.1.2/conf/ export HIVE_AUX_JARS_PATH=/opt/module/hive-3.1.2/lib
- 解決jar包沖突問題
cd /opt/module/hive-3.1.2 rm -rf lib/guava-19.0.jar cp /opt/module/hadoop-3.2.2/share/hadoop/common/lib/guava-27.0-jre.jar ./lib/
- 解決hdfs的通路權限配置資訊,
然後重新啟動dfs,yarn (具體參考hadoop叢集搭建)vi /opt/module/hadoop-3.2.2/etc/hadoop/core-site.xml
<property> <name>dfs.permissions.enabled</name> <value>false</value> </property> <property> <name>hadoop.proxyuser.root.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.root.groups</name> <value>*</value> </property>
- 拷貝mysql驅動包到hive的lib目錄下
- 在本目錄下建立配置檔案,
内容如下:vi hive-site.xml
<configuration> <!-- 記錄HIve中的中繼資料資訊 記錄在mysql中 --> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://server1:3306/hive?createDatabaseIfNotExist=true&useSSL=false</value> </property> <!-- jdbc mysql驅動 --> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <!-- mysql的使用者名和密碼 --> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>Dd123=123</value> </property> <!-- 設定metastore的節點資訊 --> <property> <name>hive.metastore.uris</name> <value>thrift://server1:9083</value> </property> <!-- H2S運作綁定host --> <property> <name>hive.server2.thrift.bind.host</name> <value>server1</value> </property> <!-- 關閉中繼資料存儲授權 --> <property> <name>hive.metastore.event.db.notification.api.auth</name> <value>false</value> </property> <!-- 關閉中繼資料存儲版本的驗證 --> <property> <name>hive.metastore.schema.verification</name> <value>false</value> </property> </configuration>
- 初始化hive, 在hive的bin目錄下執行
./schematool -initSchema -dbType mysql
- 啟動成功
大資料姊妹篇之HiveHive官網Hive概述Hive安裝部署Hive的指令行操作
Hive的指令行操作
- 進入到hive的bin目錄, 啟動metastore服務并且設定背景啟動
nohup hive --service metastore &
- 接着執行
hive
- show databases;
大資料姊妹篇之HiveHive官網Hive概述Hive安裝部署Hive的指令行操作
- show databases;