hive架构、优势、使用场景、在hadoop生态系统的位置

2023年 7月 11日 107.8k 0

hive在hadoop生态系统的位置

在讲解hive的架构前,我们先看一下hadoop的生态系统图,看一下hive到底在hadoop生态系统中占据着什么位置。

hive架构、优势、使用场景、在hadoop生态系统的位置

这张图上所有的框架我们在后续都会给大家介绍。 通过上图,我们可以看到hive的下面是yarn、MapReduce、HDFS,这和我们对hive的定义是一样的。在hive的右侧是Hbase,这就说明hive可以和HBase进行集成。可以看到hive在整个hadoop生态系统中还是占据着比较重要的位置的。

hive架构

hive架构、优势、使用场景、在hadoop生态系统的位置

我们先看这张图的蓝色部分,我们可以看到这就是MapReduce和HDFS,这一部分我们就比较熟悉了。 在回想下hive的本质,就是讲HQL语句转换成MapReduce程序进行在yarn上执行。那么现在底层的MapReduce和HDFS我们清楚了。那用户是如何提交HQL语句到hive的呢? 这就是上图中的右上部分,用户可以通过cli(命令行)或者java调用jdbc的方式通过Hive的驱动将HQL提交给Hive。 hive在接收到HQL语句时要进行以下四部的处理:

  • 将HQL语句进行解析
  • 对已经解析的进行优化处理。
  • 根据优化的结果生成一个物理的计划。
  • 将物理的计划提交给yarn进行执行。 通过以上这几个步骤,hive就完成了他的工作,接受用户提交的HQL语句,将其转换成MapReduce程序进行执行。
  • 我们看到上图的左侧还有个MetaStore,这个是什么呢?这个就是hive的元数据。我们来解释下什么是元数据。我们知道hive是讲一定的日志数据转换成数据表的形式,那是不是需要记录表的名字与存储在HDFS文件系统上文件的对应关系,是不是需要知道每一个列数据的名称。这些就组成了hive的元数据。hive通过查找元数据才能清楚的知道要去查找那个文件等等。 元数据默认存储在自带的derby数据库中,推荐使用MySQL存储Metestore。

    hive的优势

  • 操作接口采用类SQL语法,提供快速开发的能及(简单、容易上手)
  • 避免了去写MapReduce,减少开发人员的学习成本
  • 统一的元数据管理,可与impala/spark等共享数据
  • 易扩展(HDFS+MapReduce),可以扩展集群规模;支持自定义函数
  • 使用场景

  • 数据的离线处理:比如,日志分析,海量结构化数据离线分析
  • Hive的执行延迟比较高:hive常用于数据分析的,对实时性要求不高的场合
  • Hive优势在于处理大数据,对于处理小数据没有优势,因为Hive的执行延迟比较高
  • 相关文章

    Oracle如何使用授予和撤销权限的语法和示例
    Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
    下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
    社区版oceanbase安装
    Oracle 导出CSV工具-sqluldr2
    ETL数据集成丨快速将MySQL数据迁移至Doris数据库

    发布评论