HIVE 总结 一 概述

HIVE 总结 一 概述

  1. 基本概念

    由Facebook开源用于解决海量结构化日志的数据统计工具

    基于Hadoop的一个数据仓库工具,可以将结构化的数据映射为一张表,并提供类SQL的查询功能

  2. 本质:是调用hadoop中yarn中container容器中的计算程序(引擎)

在这里插入图片描述

Hive 处理的数据存储在HDFS

Hive 分析数据底层实现是MapReduce

执行程序运行在yarn上

  1. 优点

    SQL语法,简单易上手

    替换MapReduce编写,降低开发和学习成本

    基于hadoop,支持海量数据的分析和计算

    支持自定义函数

  2. 缺点

    Hive 的Hql表达能力有限,能自动生成MapReduce作业,通常情况下不够智能化

    数据挖掘方面不擅长,由于MapReduce数据处理流程限制,效率更高的算法无法实现

    Hive效率比较低

    Hive不支持实时查询和行级别的更新操作(update,delete不支持)

  3. Hive架构原理
    Hive架构

    解释:

    用户接口:client

    cli客户端,JDBC或者hive命令直接连接hive的客户端

    元数据:metastore

    包括表明,表所属的数据库,默认是default,表拥有者,列字段名

    表类型,表目录等

    默认存储在自带的derby数据库中,推荐使用MySQL存储metastory

    Hadoop:

    使用HDFS进行存储,使用MapReduce进行计算

    驱动器:driver

    解析器:

    将SQL语句进行转换,检查,分析,检查表,字段,函数,等资源是否存在,语法,语义是否有误

    编译器:

    生成SQL逻辑执行计划

    优化器:

    对逻辑执行计划进行优化(自带的)

    执行器:

    把逻辑执行计划转换为可运行的物理计划

    对于Hive来说就是MapReduce/tez/spark

  4. 运行机制

Hive运行机制

Hive通过给用户提供的一系列交互接口,接收到用户的指令(SQL),使用自己的Driver,结合元数据(MetaStore),将这些指令翻译成MapReduce,提交到Hadoop中执行,最后,将执行返回的结果输出到用户交互接口\

  1. Hive与数据库比较

    Hive不是数据库!!!

    Hive 和数据库除了拥有类似的查询语言,再无类似之处

    数据库可以用在 Online 的应用中,但是Hive 是为数据仓库而设计的

  2. 数据更新

    数据仓库读多写少

    Hive 不建议对数据进行改,写,所有的数据都在加载的时候确定好

  3. 延迟

    Hive没有索引,查询需要扫描整张表,所以查询速度慢

    Hive执行过程中实际运行的MapReduce程序 所以延迟较高

  4. 数据规模

    Hive 支持大规模的数据

    数据库对于大规模的数据支持比较困难

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值