Hive - 入门

目录:

  1. hive简介
  2. hive使用场景
  3. hive安装模式
    1. 内嵌模式
    2. 本地模式
    3. 远程模式
  4. hive环境搭建:本地模式
  5. hive架构说明

 

一.hive简介

1.hive的来源

2.hive简介

  • Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL的查询功能。
  • 其基于原理是将HQL语句自动转化成MapReduce任务。
  • Hive建立在Hadoop的其它组件之上:依赖于HDFS进行数据存储,依赖于MapReduce完成查询操作。

 

3.数据仓库和数据库的区别

4.hive在hadoop的位置

5.hive的优点及缺点

 

二.hive使用场景

仓库对比:

 

三.安装模式

可参考博客:hive安装教程本地模式


 

四.环境搭建:本地模式

第一步:安装Java jdk1.7+

第二步:安装hadoop,并开启

第三步:mysql下载及安装

  1. 下载
    mysql下载地址:mysql-5.7.22-liunx-glibc2.12安装包
    这里下载的mysql解压包是:mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
  2. 安装:
    注意:mysql 版本不同,安装的方式也不一样,请找准对应版本的教程,切记
    参考博客一:mysql-5.7.22-linux-glibc2.12安装流程
    参考博客二:Linux MySql5.6.38安装过程
  3. 启动服务:service mysql start

第四步:hive下载及安装

  1. 下载
    1. 下载地址
    2. 版本:hive-1.2.2/apache-hive-1.2.2-bin.tar.gz
  2. 安装:可参考博客:https://www.cnblogs.com/qingyunzong/p/8708057.html
    1. 上传
    2. 解压
    3. 在安装目录下的conf目录下创建 hive-site.xml ,并配置
      <?xml version="1.0" encoding="UTF-8" standalone="no"?>
      <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
      <configuration>
              <property>
                      <name>javax.jdo.option.ConnectionURL</name>
                      <value>jdbc:mysql://192.168.200.10:3306/hive_db?createDatabaseIfNotExist=true</value>
                      <description>JDBC connect string for a JDBC metastore</description>
                      <!-- 如果 mysql 和 hive 在同一个服务器节点,192.168.200.10=localhost -->
              </property>
              <property>
                      <name>javax.jdo.option.ConnectionDriverName</name>
                      <value>com.mysql.jdbc.Driver</value>
                      <description>Driver class name for a JDBC metastore</description>
              </property>
              <property>
                      <name>javax.jdo.option.ConnectionUserName</name>
                      <value>root</value>
                      <description>username to use against metastore database</description>
              </property>
              <property>
                      <name>javax.jdo.option.ConnectionPassword</name>
                      <value>123456</value>
      		<description>password to use against metastore database</description>
              </property>
      	<property>
      		<name>hive.metastore.schema.verification</name>
      		<value>false</value>
      		<description>是否启动验证,改为false,因为第一次启动数据库都不存在,如果开启验证,将永远失败</description>
      	</property>
      </configuration>
    4. 上传MySQL 驱动包(mysql-connector-java-5.1.40-bin.jar),并将该 jar 包放置在 hive 的根路径下的 lib 目录下
    5. 配置环境变量
      [root@kd01 bin]# vi ~/.bashrc
      在其文件末尾添加
      export HIVE_HOME=/home/apache-hive-1.2.2-bin
      export PATH=$PATH:$HIVE_HOME/bin
      
      修改后使其生效
      [root@kd01 bin]# source ~/.bashrc
    6. 初始化hive元数据
      root@kd01 bin]# schematool -initSchema -dbType mysql
      执行后的结果:

      使用navicat连接 liunx 下的mysql后可看到:
    7. 启动Hive 客户端
      启动的方式:
      第一种:[root@kd01 conf]# hive
      第二种:[root@kd01 conf]# hive --service cli
      结果:

      ​​​​​

五.hive架构说明

说明:

  • 用户接口:用户接口主要用三个CLI、Client(beeline)和WUI。
    1. 其中最常用的是CLI,cli启动的时候,会同时启动一个Hive副本。命令窗口,类似为cmd
    2. Client是Hive的客户端,用户连接至Hive Server。在启动Client模式的时候,需要指出Hive Server所在节点,并且在该节点启动Hive Server。
    3. WUI是通过浏览器访问Hive。
  • 元数据存储
    • hive将元数据存储在数据中,如mysql、derby。Hive中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。
  • 解释器、编译器、优化器、执行器
    • 解释器、编译器、优化器完成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在HDFS中,并在随后由MapReduce调用执行。
  • Hadoop
    • Hive的数据存储在HDFS中,大部分的查询由MapReduce完成(包含*的查询,比如select * from tbl 不会生成MapReduce任务)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值