博客
关于我
Hive概述
阅读量:798 次
发布时间:2023-03-31

本文共 1377 字,大约阅读时间需要 4 分钟。

Hive本质是什么?

Hive是一款开源的分布式数据仓库 solution,它兼具数据仓库和查询引擎的功能。Hive通过将结构化数据文件映射为虚拟表格,支持类似SQL的查询语法,从而无需开发MapReduce程序即可完成数据分析任务。Hive与Spark SQL的结合是企业数据分析中的经典组合。

Hive的核心功能

Hive作为一个单机版本软件,主要负责以下工作:

  • 将HQL(Hive Query Language)编译成Map-Reduce任务代码,可能生成多个Map-Reduce Job。
  • 将编译后的Map-Reduce代码及相关资源打包成JAR文件,并发布到Hadoop集群中自动运行。
  • Hive的架构

    Hive的架构包含以下主要组件:

    • MetaStore:负责存储元数据,包括表的名称、列、分区属性等。默认使用Derby,但在生产环境下通常采用支持多用户的关系型数据库(如MySQL)作为MetaStore。
    • HiveServer:提供Hive的服务接口,包括命令行界面(CLI)和Web用户界面(WUI)。
    • HiveClient:用户连接到Hive Server的客户端程序。

    Hive的运行机制

    Hive的运行过程包括以下步骤:

  • 词法分析和语法分析:ANTLR解析HQL查询。
  • 查询优化:生成优化后的查询计划。
  • 执行计划存储:将生成的查询计划存储在HDFS中。
  • Map-Reduce任务执行:通过Hadoop的Map-Reduce框架执行查询。
  • Hive的用户界面

    Hive提供三种主要用户界面:

  • CLI(命令行界面):常用,启动时会同时启动Hive Server。
  • Client:用户连接到Hive Server,需指定服务器节点。
  • WUI(Web User Interface):通过浏览器访问,适合不便于使用命令行的用户。
  • Hive的元数据存储

    Hive的元数据存储在关系型数据库中,包括:

    • 表的名称和列信息。
    • 表的分区和属性。
    • 表的存储位置等。
    • 是否为外部表等信息。

    Hive的三种模式

    Hive支持三种运行模式:

  • 单用户模式:连接到内存数据库Derby,适用于Unit Test。
  • 远程服务器模式:在服务器端启动MetaStore Server,客户端通过Thrift协议访问。
  • Hive的数据存储

    Hive的数据存储在HDFS中,查询和计算主要由Map-Reduce完成。支持的查询包括select * from tbl等基础查询,不会生成Map-Reduce任务。

    安装和配置

  • 环境变量设置

    • export HADOOP_HOME:配置Hadoop主目录。
  • 配置文件修改

    • vim hive-env.sh:设置Hadoop和Hive的环境变量。
    • vim hive.site.xml:指定Hive数据仓库的存储路径。
  • 安装数据库

    • 安装并配置MySQL作为MetaStore。
  • 表类型

    • 外部表:数据不属于Hive数据仓库,元数据指明数据存储位置。
    • 内部表:数据属于Hive,存储在HDFS中,删除时会移除数据和元数据。
  • 总结

    Hive是一款灵活高效的数据分析工具,支持通过类似SQL的方式执行Map-Reduce任务,适合对数据分析有需求的企业。通过与Hadoop等工具的结合,Hive成为企业数据分析和存储的重要解决方案。

    转载地址:http://ipefk.baihongyu.com/

    你可能感兴趣的文章
    ORACLE 客户端工具连接oracle 12504
    查看>>
    Oracle 常用命令
    查看>>
    Oracle 序列sequence 开始于某个值(10)执行完nextval 发现查出的值比10还小的解释
    查看>>
    oracle 插入date日期类型的数据、插入从表中查出的数据,使用表中的默认数据
    查看>>
    oracle 数据库dg搭建规范1
    查看>>
    oracle 时间转化函数及常见函数 .
    查看>>
    Oracle 权限(grant、revoke)
    查看>>
    oracle 查询clob
    查看>>
    Oracle 比较 B-tree 和 Bitmap 索引
    查看>>
    UML- 组件图(构件图)
    查看>>
    oracle 监听器的工作原理
    查看>>
    oracle 行转列
    查看>>
    Oracle 表
    查看>>
    oracle 课堂笔记
    查看>>
    Oracle 返回结果集的 存储过程
    查看>>
    Oracle 递归
    查看>>
    Oracle 递归函数与拼接
    查看>>
    oracle 逻辑优化,提升高度,综合SQL上下文进行逻辑优化
    查看>>
    oracle 闪回关闭,关闭闪回即disable flashback的操作步骤
    查看>>
    oracle 限制用户并行,insert /*parallel */ 到不同用户,并行起不来的问题
    查看>>