Hive的架构

打印 上一主题 下一主题

主题 944|帖子 944|积分 2832

1. 概念
Hive 是创建在 Hadoop 上的数据堆栈工具,旨在简化大规模数据集的查询与管理。它通过类 SQL 语言(HiveQL)将布局化数据映射为 Hadoop 的 MapReduce,得当离线批处置处罚,尤实在用于数据堆栈场景。

 2. 数据模子
 表(Table):逻辑数据单元,分为两种:
      1.内部表(Managed Table):数据由 Hive 管理,删除表时数据及元数据均被扫除。
      2.外部表(External Table):数据存储在 HDFS 的指定路径,删除表仅删除元数据,保留数据。 
 分区(Partition):按列值(如日期)将数据划分到差异目次,提拔查询服从(如分区裁剪)。
 分桶(Bucket):基于哈希将数据分到固定命目标文件,优化 Join 和采样服从。
 视图(View):虚拟表,基于查询效果界说,不存储实际数据。

 3. 架构
Hive 架构分为以下核心层:

1. 用户接口层:
    CLI/JDBC/ODBC:提供下令行和远程访问。
    HiveServer2:支持多用户并发、认证,替代旧版 HiveServer。
    Web UI(如 Hue):可视化查询界面。
2. 元数据存储(Metastore):
    使用关系数据库(MySQL、PostgreSQL)存储表布局、分区等元数据。
    独立服务模式(Remote Metastore)支持高可用。
3. 驱动层(Driver):
    编译器:将 HiveQL 转换为抽象语法树(AST)、逻辑操持。
    优化器:实行逻辑优化(如谓词下推、分区裁剪)。
    实行引擎:生成物理操持(MapReduce/Tez/Spark DAG)。
4. 实行层:
    支持多种引擎:MapReduce(默认)、Tez(优化 DAG 实行)、Spark(内存盘算)。
    LLAP(Live Long and Process):守护历程缓存数据,加速交互式查询。
5. 存储层:
    数据存储在 HDFS 或兼容系统(如 S3)。
    支持多种格式:文本、ORC(列式存储,支持 ACID)、Parquet。

 4. 核心组件
 Hive CLI:下令行接口,得当简朴查询。
 HiveServer2:提供 Thrift 服务,支持 JDBC/ODBC 毗连。
 Metastore:独立服务,管理元数据,支持高并发访问。
 SerDe(Serializer/Deserializer):解析数据格式(如 JSON、CSV),如 `OpenCSVSerde`。
 Execution Engine:可插拔引擎(如 Tez 减少中间落盘,提拔性能)。
 Hive Web Interface(可选):提供底子监控界面。

   Hive 通过 SQL 抽象简化了 Hadoop 生态的数据处置处罚,其架构围绕元数据管理、查询编译优化和多引擎实行睁开。随着 Tez/Spark 引擎和 LLAP 的引入,Hive 在性能上连续改进,但仍以批处置处罚为核心定位。理解其数据模子与组件协作,是优化 Hive 应用的关键。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

魏晓东

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表