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  也不会退出服务,在后台运行。
原文地址:https://www.cnblogs.com/OnTheWay-0518/p/9630576.html