大数据技术基础知识总结七

Hive是一个数据仓库工具,支持SQL-like查询,适用于离线数据分析,但速度较慢且不支持单条数据操作。HBase是NoSQL数据库,提供实时查询能力,适合大量明细数据的实时查询。两者在数据处理场景中有不同的适用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • Hive
    • 介绍
      • Hive 就是一个数据仓库,仓库中的数据都是在 HDFS中管理的数据文件
      • Hive 支持类似 SQL 语句的功能,你可以通过这些语句来进行数据分析,Hive 会把这些语句转换成可执行的 MapReduce 代码,然后进行计算
    • 基本体系架构
      • UI(用户界面)
        • 负责与使用者的交互,我们通过 UI 向系统提交查询和其他操作
      • 驱动器(Driver)
        • 驱动器在接收 HiveQL 语句之后,创建会话来启动语句的执行,并监控执行的生命周期和进度
        • 既负责与编译器的交互,又负责与执行引擎的交互
      • 编译器(Compiler)
        • 编译器接收驱动器传来的 HiveQL,并从元数据仓中获取所需要的元数据,然后对 HiveQL 语句进行编译,将其转化为可执行的计划
      • 执行引擎(Execution Engine)
        • 执行器将执行任务。它对 Hadoop 的作业进行跟踪和交互,调度需要运行的任务。
      • 元数据仓(Metastore)
        • 元数据指的是我们构建的 Hive 表的表名、表字段、表结构、分区、类型、存储路径等等
        • 元数据通常存储在传统的关系型数据库中,比如 MySQL
    • Hive 的优点
      • 简单易上手
      • Hive 提供统一的元数据管理
      • 可扩展性好
      • 支持自定义函数(UDF)
    • Hive 的缺点
      • 速度较慢
        • Hive 的底层数据仍然是存储在 HDFS 上的,所以速度比较慢,只适合离线查询
      • 不支持单条数据操作
        • 不能任意修改 HDFS 里的数据,所以 Hive 也不行,要想修改数据只能整个文件进行替换。
  • HBase
    • 介绍
      • NoSQL 数据库
      • HBase 只是利用 Hadoop 的 HDFS 帮助其管理数据的持久化文件
      • HBase 提供实时处理数据的能力
    • HBase 的表结构
      • 行键(Row Key)
        • 行数据的唯一标识
      • 列簇(Column Family)
        • 看作是一组列,实际上一个列簇的作用也是用来管理若干个列,优化查询速度
        • 列簇的名字要尽量短,同时对于经常需要一起查询的列放在一个列簇下面
        • 列簇需要预先定义,而列不需要,如果要新增列簇就要先停用这个表
      • 单元(Cell)
        • 指的是一个确定的存储单元。通过 Row Key、列簇 、列名以及版本号来确定。
      • 时间戳(Timestamp)
        • 用来标记前面说的一份数据的不同版本。
      • 区域(Region)
        • 一个 Region 可以看作是多行数据的集合
    • HBase 的优缺点
      • 实时计算
      • 容量大性能高
      • 列存储,无须设定表结构
      • HBase 不能支持条件查询,也不能用 SQL 语句进行查询。在使用的时候,一般只能使用Row Key 来进行查询。
    • HBase 与 Hive 的使用
      • HBase 支持实时随机查询的特性,主要使用 HBase 进行大量的明细数据的随机实时查询
      • Hive 本身并不解决存储的问题,它只是把 HDFS 中的结构化数据进行了展示,而最核心的功能是实现了对这些结构化文件的查询
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lw中

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值