hive詳解
、hive:
——————————————————————————————
·hive解釋
hive是建立在hdfs之上,對資料操作分析的工具。hive儲存資料結構(schema)在資料庫中,處理的資料進入hdfs.
·hive結構
hdfs: 儲存真正的資料
Meta store:元資料庫:儲存表結構(一般是mysql)
Hive QL Peocess English: hive查詢處理器
Execution English: 執行引擎(一般是mapreduce)
user interfaces : 命令介面 (如web ui)
·hive流程
大體流程如下:
1提交作業給驅動——>2.編譯器編譯——3>元資料庫從mysql中查出結構——>4.5返回——>6交給執行引擎—
——>7執行作業(mapreduce執行)從hdfs查詢——>8.9.10返回結果
二、安裝hive(這裡把mysql資料庫安裝在本地)
________________________________________________________
1.下載hive2.1-tar.gz
2.tar開
$>tar -xzvf hive-2.1.0.tar.gz -C /soft //tar開
$>cd /soft/hive-2.1.0 //
$>ln -s hive-2.1.0 hive //符號連線
3.配置環境變數
[/etc/profile]
HIVE_HOME=/soft/hive
PATH=...:$HIVE_HOME/bin
4.驗證hive安裝成功
$>hive --version
5.配置hive,使用win10的mysql存放hive的元資料.
a)複製mysql驅動程式到hive的lib目錄下。
...
b)配置hive-site.xml
複製hive-default.xml.template為hive-site.xml
修改連線資訊為mysql連結地址,將${system:...字樣替換成具體路徑。
[hive/conf/hive-site.xml]
<property> <name>javax.jdo.option.ConnectionPassword</name> <value>密碼</value> <description>password to use against metastore database</description> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>你的使用者名稱</value> <description>Username to use against metastore database</description> </property> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://ip地址:3306/資料庫名字</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> <description>Driver class name for a JDBC metastore</description> </property>
6)在msyql中建立存放hive資訊的資料庫
mysql>create database hive2 ;
7)初始化hive的元資料(表結構)到mysql中。
$>cd /soft/hive/bin
$>schematool -dbType mysql -initSchema
注意主機防火牆會禁止埠,所以應該新增防火牆例外埠
windows新增防火牆例外埠方法
進入防火牆選擇高階設定
入站規則設定
1 選擇 入站規則 然後 新建規則,選擇 埠,然後下一步
2 選擇TCP 選擇特定埠 然後輸入埠,如有多個埠需要用逗號隔開了 例如: 3306
3 選擇允許連線
4 選擇配置檔案
5 輸入規則名稱 如:mysqlport
出站規則設定
1 選擇出站規則 然後 新建規則,選擇 埠,然後下一步
2 選擇TCP 選擇特定埠 然後輸入埠,如有多個埠需要用逗號隔開了 例如: 3306
3 選擇允許連線
4 選擇配置檔案
5 輸入規則名稱 如:mysqlport