• Hive概述


    1.Hive简介

    Hive 是一个建立在 Hadoop 之上的数据仓库系统,最初由 Facebook 开发,后来成为 Apache 软件基金会的一部分。它提供了类似于 SQL 的查询语言 HiveQL,使得用户可以方便地在 Hadoop 分布式文件系统(HDFS)中执行数据查询和分析操作。Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。

    那为什么会有Hive呢?它是为了解决什么问题而诞生的呢?

    下面通过一个案例,来快速了解一下Hive。

    • 例如:需求,统计单词出现个数。

    (1)在Hadoop用MapReduce程序实现的,当时需要写Mapper、Reducer和Driver三个类,并实现对应逻辑,相对繁琐。
    test表
    id列
    aa a aaa b

    (2)如果通过Hive SQL实现,一行就搞定了,简单方便,容易理解。
    select count(*) from test group by id;


    2.Hive本质

    Hive 的本质是将 Hadoop 生态系统中的 MapReduce 编程模型与 SQL 查询语言相结合,从而提供了一种在大数据环境下进行数据仓库操作的解决方案

    1. 数据仓库解决方案:

    Hive 的主要目标是提供一个数据仓库解决方案,使得用户可以在 Hadoop 分布式文件系统(HDFS)中存储大规模的结构化数据,并通过类似于 SQL 的查询语言来进行数据分析和处理。

    2. SQL 接口:

    Hive 提供了 HiveQL,一种类似于 SQL 的查询语言,使得用户可以使用熟悉的 SQL 语法来查询和操作数据。这种 SQL 接口让那些熟悉传统数据库系统的用户能够轻松地迁移到 Hive 平台上进行数据处理。

    3. 转换成 MapReduce 作业或 Tez 任务:

    当用户提交 HiveQL 查询时,Hive 的 Driver 将会将其转换成一系列的 MapReduce 作业或 Tez 任务来执行。这些作业或任务在 Hadoop 集群上运行,并利用分布式计算资源来处理大规模数据集。

    4. 元数据管理:

    Hive 使用 Metastore 来管理表的元数据信息,包括表的结构、分区信息等。这些元数据通常存储在关系型数据库中,例如 MySQL 或 PostgreSQL。Metastore 的存在使得用户可以轻松地管理和查询表的元数据信息。

    5. 外部存储和管理:

    除了内部表(Managed Table)外,Hive 还支持外部表(External Table),这些表的数据存储在外部文件系统(如 HDFS)中,由用户自行管理。这种外部存储的支持使得用户可以更灵活地管理数据,并与其他系统进行集成。

    6. 扩展性和生态系统整合:

    作为 Hadoop 生态系统的一部分,Hive 具有良好的扩展性,并与其他组件(如 HDFS、YARN、HBase、Spark 等)紧密整合,使得用户可以在一个统一的平台上进行数据存储、处理和分析。

    Tips:

    Hive是一个Hadoop客户端,用于将HQL(Hive SQL)转化成MapReduce程序

    • (1)Hive中每张表的数据存储在HDFS

    • (2)Hive分析数据底层的实现是MapReduce(也可配置为Spark或者Tez)

    • (3)执行程序运行在Yarn上

  • 相关阅读:
    Go的题目
    给电热水器瘦个身,让它好看更好用,云米电热水器Air2 Mini体验
    kube-prometheus 系列1 项目介绍
    DAY39:横向渗透
    直播带货系统,乡村直播电商平台的新选择
    ubuntu| ubuntu 20、ubuntu高版本安装低版本的gcc、gcc5
    Mybatis 动态Sql标签使用总结
    【主题课】9.10教师节电子贺卡制作
    【go-libp2p学习笔记】使用go-libp2p搭建中转服务器(circuit relay server)
    基于C语言的词法分析程序的设计与实现
  • 原文地址:https://blog.csdn.net/weixin_48935611/article/details/138057410