什麼是 Hive
Hive 是一個翻譯器,它可以将SQL語句翻譯成一個 MapReduce 程式
常見的資料分析引擎: Hive, Pig, Impala, Spark SQL
Hive 是一個基于Hadoop 之上的資料分析引擎(資料倉庫)
Hives HDFS
表 --------> 目錄
資料 --------> 檔案
分區 --------> 目錄
環境部署:
部署前準備:
環境變量:vi ~/.bash_profile
HIVE_HOME=/root/training/apache-hive-2.3.0-bin
export HIVE_HOME
PATH=$HIVE_HOME/bin:$PATH
export PATH
嵌入式部署:
(1)使用Hive自帶的Derby資料庫來存儲元資訊
(2)Hive隻支援一個連接配接
建立 conf/hive-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:derby:;databaseName=metastore_db;create=true</value>
</property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>org.apache.derby.jdbc.EmbeddedDriver</value>
<name>hive.metastore.local</name>
<value>true</value>
<name>hive.metastore.warehouse.dir</name>
<value>file:///root/training/apache-hive-2.3.0-bin/warehouse</value>
</property>
</configuration>
初始化MetaStore:
schematool -dbType derby -initSchema
遠端模式(需要MySQL資料庫):
1. 安裝 MySQL資料庫(此處省略)
2. 配置 hive-site.xml (JDBC的參數)
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<value>jdbc:mysql://localhost:3306/hive?useSSL=false</value>
<value>com.mysql.jdbc.Driver</value>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hiveowner</value>
<name>javax.jdo.option.ConnectionPassword</name>
<value>Welcome_1</value>
</configuration>
3. 把MySQL 資料庫的驅動放到: Hive/lib 下
4. 初始化 MySQL資料庫
老版本的hive 在第一次運作時自動初始化 MySQL資料庫
新版本的hive 需要執行指令:
schematool -dbType mysql -initSchema
本文轉自 tianshuai369 51CTO部落格,原文連結:http://blog.51cto.com/songqinglong/2055914