栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 云计算 > 云平台

Hive简介

云平台 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Hive简介

Hive简介

hive是一个构建在Hadoop上的数据仓库工具(框架),可以将结构化的数据文件映射成一张数据表,并可 以使用类sql的方式来对这样的数据文件进行读,写以及管理(包括元数据)。这套HIVE SQL 简称 HQL。hive的执行引擎可以是MR、spark、tez。

如果执行引擎是MapReduce的话,hive会将Hql翻译成MR进行数据的计算。 用户可以使用命令行工具 或JDBC驱动程序来连接到hive。

Hive的优缺点 优点

1.学习成本低
提供了类SQL查询语言HQL(简单,容易上手),避免了直接写MapReduce(适合java语言不好的,sql 熟练的人),减少开发人员的学习成本。

2.可扩展性好
为超大数据集设计了计算/扩展能力(MR作为计算引擎,HDFS作为存储系统),Hive可以自由的扩展集 群的规模,一般情况下不需要重启服务。

3.适合做离线分析处理(OLAP)
Hive的执行延迟比较高,因此Hive常用于数据分析,对实时性要求不高的场合。

4.延展性好
Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数。

5.良好的容错性
某个数据节点出现问题HQL仍可完成执行。

6.统计管理
提供了统一的元数据管理

缺点
  1. hive的HQL表达能力有限
    迭代式算法无法表达,比如PageRank(网页排名)
    数据挖掘方面,比如kmeans(k均值聚类算法)

  2. hive的效率比较低
    hive自动生成的mapreduce作业,通常情况下不够智能化
    hive调优比较困难,粒度较粗

Hive架构

HIve工作原理

  1. 用户提交查询等任务给Driver。

  2. 驱动程序将Hql发送编译器,检查语法和生成查询计划。

  3. 编译器Compiler根据用户任务去MetaStore中获取需要的Hive的元数据信息。

  4. 编译器Compiler得到元数据信息,对任务进行编译,先将HiveQL转换为抽象语法树,然后将抽象语法树转换成查询块,将查询块转化为逻辑的查询计划,重写逻辑查询计划,将逻辑计划转化为物理的计划 (MapReduce), 最后选择最佳的策略。

  5. 将最终的计划提交给Driver。到此为止,查询解析和编译完成。

  6. Driver将计划Plan转交给ExecutionEngine去执行。

  7. 在内部,执行作业的过程是一个MapReduce工作。执行引擎发送作业给JobTracker,在名称节点并把它 分配作业到TaskTracker,这是在数据节点。在这里,查询执行MapReduce工作。

    7.1 与此同时,在执行时,执行引擎可以通过Metastore执行元数据操作。

  8. 执行引擎接收来自数据节点的结果。

  9. 执行引擎发送这些结果值给驱动程序。

  10. 驱动程序将结果发送给Hive接口。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/895617.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号