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