大数据学习之Hive——01Hive基本概念

本文详细介绍了Hive的基本概念,包括Hive的定义、优缺点。接着探讨了Hive的架构原理,与关系型数据库的比较,以及数据组织方式,如内部表、外部表、分区表和Bucket表的区别。此外,还讲解了Hive的数据类型和常见的存储格式,如TextFile、SequenceFile、RCFile和ORCFile。Hive适用于大规模数据的统计分析,提供了类SQL查询接口,但其执行延迟高,不支持记录级的增删改操作,适合离线分析场景。
摘要由CSDN通过智能技术生成

一. Hive基本概念

1. 什么是Hive

Hive:由Facebook开源用于解决海量结构化日志的数据统计。
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。
本质是:将HQL转化成MapReduce程序

2. Hive的优缺点

1. 优点
  1. 操作接口采用类SQL语法,提供快速开发的能力(简单、容易上手)。
  2. 避免了去写MapReduce,减少开发人员的学习成本。
  3. Hive的执行延迟比较高,因此Hive常用于数据分析,对实时性要求不高的场合。
  4. Hive优势在于处理大数据,对于处理小数据没有优势,因为Hive的执行延迟比较高。
  5. Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数。
2. 缺点
  1. Hive 不支持记录级别的增删改操作
  2. Hive 的查询延时很严重
    因为 MapReduce Job 的启动过程消耗很长时间,所以不能 用在交互查询系统中。
  3. Hive 不支持事务

二. Hive架构原理

  1. 用户接口: Client
    CLI(command-line interface)、JDBC/ODBC(jdbc访问hive)、WEBUI(浏览器访问hive)
  2. 元数据: Metastore
    元数据包括:表名、表所属的数据库(默认是default)、表的拥有者、列/分区字段、表的类型(是否是外部表)、表的数据所在目录等;
    默认存储在自带的derby数据库中,推荐使用MySQL存储Metastore
  3. Hadoop
    使用HDFS进行存储,使用MapReduce进行计算。
  4. 驱动器: Driver
    1. 解析器(SQL Parser):将SQL字符串转换成抽象语法树AST,这一步一般都用第三方工具库完成,比如antlr;对AST进行语法分析,比如表是否存在、字段是否存在、SQL语义是否有误。
    2. 编译器(Physical Plan):将AST编译生成逻辑执行计划。
    3. 优化器(Query Optimizer):对逻辑执
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值