• 数据仓库Hive(一)——hive简介,产生,安装


    1.Hive简介

    • 数据仓库
    • 解释器、编译器、优化器等
    • 运行时,元数据存储在关系型数据库里面

    1.1数据库和数据仓库的区别

    • 数据库需要立即返回结果,数据仓库不需要
    • 数据仓库能收纳各种数据源,而数据库只能保持产品线
    • 数据库可修改,数据仓库不可修改

    1.2Hive的产生

    • 非java编程者对hdfs的数据做mapreduce操作

    2.Hive架构

            图2.1  架构图

    (1)用户接口主要有三个:CLI,Client 和 WUI。其中最常用的是CLI,Cli启动的时候,会同时启动一个Hive副本。Client是Hive的客户端,用户连接至Hive Server。在启动 Client模式的时候,需要指出Hive Server所在节点,并且在该节点启动Hive Server。 WUI是通过浏览器访问Hive。

    (2)Hive将元数据存储在数据库中,如mysql、derby。Hive中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。

    (3)解释器、编译器、优化器完成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在HDFS中,并在随后有MapReduce调用执行。

    (4)Hive的数据存储在HDFS中,大部分的查询、计算由MapReduce完成(包含*的查询,比如select * from tbl不会生成MapRedcue任务)。

     

                  图2.2  描述传递过程

    3.安装hive的步骤:

    3.1.下载解压

    wget http://mirror.bit.edu.cn/apache/hive/hive-2.3.4/apache-hive-2.3.4-bin.tar.gz


    3.2.修改环境变量

    vi /etc/profile
    export HIVE_HOME=/opt/bigdata/hive-2.3.4


    将bin目录添加到PATH路径中


    3、修改配置文件,进入到/opt/bigdata/hive-2.3.4/conf

    mv hive-default.xml.template hive-site.xml


    增加配置:
    进入到文件之后,将文件原有的配置删除,但是保留最后一行,从<configuration></configuration>

    :.,$-1d


    增加如下配置信息:

    <property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/user/hive/warehouse</value>
    </property>
    <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://node01: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>123</value>
    </property>


    4、添加MySQL的驱动包拷贝到lib目录
    5、执行初始化元数据数据库的步骤

    schematool -dbType mysql -initSchema


    6、执行hive启动对应的服务
    7、执行相应的hive SQL的基本操作

    远程访问模式的服务端一样,客户端配置:

    <configuration>
    <property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/user/hive_remote/warehouse</value>
    </property>
    <property>
        <name>hive.metastore.uris</name>
        <value>thrift://node03:9083</value>
    </property>
    </configuration>

     服务端  hive --service metastore

    客户端   hive

    4.架构方式

            4-1 hive数据架构图

     4-2搭建模式(一)单hive形式->自带metastore_db模式{In-memory DB}

        4-3搭建模式(二)一个hive 一个数据库模式{三中的模式}

          4-3搭建模式(三)远程访问模式

    远程访问模式:远程服务器模式 用于非Java客户端访问元数据库,在服务器端启动MetaStoreServer,客户端利用Thrift协议通过MetaStoreServer访问元数据库

  • 相关阅读:
    Java集合框架--Collection
    xhprof windows下安装和使用(转载)
    什么是socket
    访问国外网络的卡顿问题
    关于go的通信通道channel——chan的一些问题
    关于go的入门书籍——go自学的序
    Linux中find常见用法示例 &#183;find path -option [ -print ] [ -exec -ok command ] {} ;
    php的一个有意思的命令:-S
    看看第一篇随笔的效果
    Mysql limit
  • 原文地址:https://www.cnblogs.com/littlepage/p/11246548.html
Copyright © 2020-2023  润新知