Hive简单概述

Hive概述

Hive是一个基于Hadoop的数据仓库系统,它提供了类似于SQL的查询语句HiveQL,可以将结构化数据存储在 Hadoop分布式文件系统中,并通过MapReduce处理数据。

Hive的目标是使数据分析师和其他人员能够使用SQL语言来查询大规模的数据集,而无需编写MapReduce程序。将结构化数据映射到Hadoop的分布式文件系统(HDFS)上,并提供了一个高层次的抽象层,使得用户可以使用类似于SQL的查询语言来查询和分析数据。

Hive还提供了一些内置函数和UDF(用户定义函数),可以扩展其功能,Hive是开源的,由Apache软件基金会进行维护。

好处

  • 易于使用
    • ​ Hive使用类似于SQL的查询语言,这使得用户可以快速上手并开始查询和分析数据
  • 处理大规模数据
    • ​ Hive可以处理大规模的数据,因为它是基于Hadoop的分布式文件系统(HDFS)构建的
  • 可扩展性
    • ​ Hive可以轻松地扩展到处理更大规模地数据,因为它可以在Hadoop集群上运行
  • 数据仓库
    • ​ Hive可以将结构化数据映射到Hadoop的分布式文件系统(HDFS)上,从而创建一个数据仓库,使得 用户可以轻松地查询和分析数据。
  • 开源
    • ​ Hive是一个开源项目,因此用户可以自由地使用和修改它,以满足项目的需求。

架构原理

  • 元数据存储
    • Hive的元数据存储在关系型数据库,比如Mysql。元数据包括表的结构,分区,列和分布式文件系统中数据的位置等信息。
  • 查询编译器
    • Hive的查询编译器将HiveQL语句转换为MapReduce任务,这些任务将在Hadoop集群上执行,查询编译器还可以优化查询以提高性能。
  • 执行引擎
    • Hive的执行引擎负责执行MapReduce任务,并将结构返回给用户,执行引擎还可以处理数据的分区和排序等操作。
  • 存储处理
    • Hive支持多种数据存储格式,包括文本,序列化,ORC等操作,存储处理模块负责将数据存储在HDFS中,并提供对数据的读写操作。
  • 用户接口
    • Hive提供了多种用户接口,包括命令行界面,Web界面,和ODBC/JDBC接口等,用户可以使用这些接口来执行HiveQL查询和管理Hive元数据。

系统架构

Hive的系统架构如下:

  1. 用户接口层
    • Hive提供了CLI(命令行界面)和JDBC/ODBC接口,使得用户可以通过命令或者其他工具来执行Hive查询。
  2. 元数据层
    • Hive的元数据存储在关系型数据库中,包括表的结构,分区信息,表的位置。
  3. 驱动层
    • Hive的驱动程序负责解析用户的查询语句,生产执行计划,并将计划提交给执行引擎。
  4. 执行引擎层
    • Hive的执行引擎负责执行查询计划,包括MapReduce,Tez,Spark等。
  5. 存储层
    • Hive支持多种存储格式,包括文本、序列化、ORC等。
  6. Hadoop层
    • Hive运行在Hadoop上,利用Hadoop的分布式计算能力来处理大规模数据。
  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值