Hive概念和配置安裝

概念

解決結構化的數據統計

hive是基於hadoop的一個數據倉庫工具,可以將結構化的數據文件映射爲一張表,並提供sql查詢功能

Hive在大數據生態圈中位於數據計算層

可以增刪查
不可改(具體數據)(可追加不可隨機改) 因爲基於hdfs

本質:將HQL轉換成MapReduce程序
在這裏插入圖片描述

優缺點
在這裏插入圖片描述

Hive架構

在這裏插入圖片描述
Meta store:
元數據包含用Hive創建的database、table等的元信息。元數據存儲在關係型數據庫中。如Derby、MySQL等。

元數據:包括表名、表所屬的數據庫(默認是default)、表的擁有者、列/分區字段、表的類型(是否是外部表)、表的數據所在目錄等;

解析器(SQL Parser):將SQL字符串轉換成抽象語法樹AST,這一步一般都用第三方工具庫完成,比如antlr;對AST進行語法分析,比如表是否存在、字段是否存在、SQL語義是否有誤。
編譯器(Physical Plan):將AST編譯生成邏輯執行計劃。
優化器(Query Optimizer):對邏輯執行計劃進行優化。
執行器(Execution):把邏輯執行計劃轉換成可以運行的物理計劃。對於Hive來說,就是MR/Spark。

Hive安裝

hive要將元數據存儲在Derby或MySQL,推薦使用mysql
所以先要安裝mysql

1.解壓
tar -zxvf

2.進入conf 修改配置文件(有些包沒有hive-site.xml 自己寫一個也可以)
hive-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <property>
        <name>hive.metastore.warehouse.dir</name>
        <!-- 存放數據的hdfs地址 -->
        <value>/opt/module/hive-1.1.0-cdh5.14.2/warehouse</value>
    </property>
    <property>
        <name>hive.metastore.local</name>
        <value>true</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://192.168.56.20:3306/hive?createDatabaseIfNotExist=true</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>root</value>
    </property>
</configuration>

3.java連接mysqljar包放到lib
在這裏插入圖片描述

4.在hdfs中創建 寫在配置文件中的目錄“warehouse”

5.配置環境變量/etc/profile 配置完後source刷新
在這裏插入圖片描述

6.在mysql中創建hive元數據

schematool -initSchema -dbType mysql

7.啓動hive

hive
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章