• HIVE简介及安装


    一、简介

    百度百科HIVE定义:

    hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

    解读:1.基于hadoop的应用

       2.可提供类似sql查询,但是是以MapReduce的方式进行的,数据量小也慢。

       3.存储是数据文件(在HDFS)和元数据(mysql)分离。

    元数据

    MySQL数据中 -> hive数据元 -> hive数据仓库中的数据元信息
                      DBS:记录Hive中的库信息
                      TBLS:记录Hive中的表信息
                      COLUMNS_V2:记录Hive中的表结构信息(所属的表,列名,类型,顺序)
    

     在HDFS上以文件的形式存储

    hive管理的库 -> HDFS文件夹 -> warehouse(default库所在的路径) -> 其他的库以.db结尾
    hive管理的表 -> HDFS文件夹 -> 相应的库文件夹下 -> 存储的是表的数据
    hive管理的表的数据 -> HDFS文件 -> 相应的表文件夹下
    

    hive 上传数据的方式

    是读时模式----->数据在读取时,再用表单结果信息对数据进行容错性校验。(数据库先对数据进行校验再更新到表-->写时模式)
      大数据量时----直接以文件的形式上传到HDFS上的指定目录。
      小数据量时----没上传一次,在指定目录下生成一分文件。
    

    二、安装

    1.将hive的压缩包上传到指定目录并解压

    tar -zvxf apache-hive-1.2.2-bin.tar.gz
    

    2.配置环境变量

    vi .bash_profile(解压用户的配置文件)
    
    HIVE_HOME=安装目录
    PATH=$PATH:$HIVE_HOME/bin
    
    wq退出,source .bash_profile
    

     3.修改配置文件

      配置hive-site.xml

    先以 mysql -u -root -h hostname -p 登录mysql,确认该登录方式是否可用

    不可用则用可登录用户登录mysql,然后更新user表

    updata mysql.user set password = password('root') where user = 'root';

    set password = password('');  //若更新user表报错时执行这一句

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <configuration>
        <property>
                <name>javax.jdo.option.ConnectionDriverName</name>
                <value>com.mysql.jdbc.Driver</value>
         </property>
          <property>
                <name>javax.jdo.option.ConnectionURL</name>
                <value>jdbc:mysql://SZ01:3306/hive?createDatabaseIfNotExist=true</value>
          </property>
          <property>
                <name>javax.jdo.option.ConnectionUserName</name>
                <value>root</value>
          </property>
          <property>
                <name>javax.jdo.option.ConnectionPassword</name>
                <value>root</value>
          </property>
          <!-- 
              <property>  
                  <name>hive.hwi.war.file</name>  
                  <value>lib/hive-hwi-1.2.2.war</value>
            </property>
        -->
    </configuration>
    View Code

      配置hive-log4j.properties

    hive.log.dir=/home/${user.name}                    设置日志目录和文件名
    hive.log.file=hive.log

     4.拷贝 mysql的jar包至 解压目录的lib文件夹下

      mysql-connector-java-5.1.46-bin.jar

     5.打开hive的远程连接

    nohup hive --service hiveserver2 --hiveconf hive.server2.thrift.port=10010 &
    nohup的作用:使得该服务在当前会话关闭时也不退出
    &的作用:ctrl+c  也不会退出服务,在后台运行。
    
  • 相关阅读:
    HashMap源码分析
    ArrayList、LinkedList和Vector源码分析
    java序列化
    Python Web自动化测试入门与实战,从入门到入行
    Chrome 自带截图工具
    【转】chrome DEvTools 使用,进行定位元素
    偷懒大法好,用 selenium 做 web 端自动化测试
    Python代码覆盖率分析工具Coverage
    Jmeter分布式压力测试
    通过dockerfile制作镜像
  • 原文地址:https://www.cnblogs.com/OnTheWay-0518/p/9630576.html
Copyright © 2020-2023  润新知