登陆 | 注册 设为首页 | 加入收藏 | 联系我们
太和养老网
热词老年艺术  助老机构  养老系统  

中心区域北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 香港 澳门 台湾 全国城市养老院目录 全国县市养老院汇总目录 太和AI作品展 太和养老艺术网AI作品展示

Hive有哪些特点?Hive的数据模型是怎样

 

2023/7/7 21:15:55 ('互联网')

本文目录

Hive有哪些特点

您好,我是数据僧(头条,公众号,简书),,一名数据相关从业者。下面讲讲我对您这个问题的理解。

Hive是为了解决什么问题,Hive产生的背景,我们以这个为引子,展开回答。

1,MapReduce编程的不变性,如果要处理一些数据处理的任务,会有一定的门槛,并且操作起来不方便。

2,Hdfs上的文件缺少Schema。例如:缺少 字段名,数据类型等,不方面数据进行有效管理。

3,用于解决海量结构化数据的统计问题

4,如果使用MapReduce等计算框架,学习成本比较高

5,在项目周期比较短的情况下,如果使用mapReduce或者其它的开发框架进行开发,无法满足项目对时间的要求。

我们从具体应用场景下看看Hive处于hadoop生态系统的什么位置:

如图:Hive以Hdfs为基本的文件存储,以MapReduce为执行引擎。所以Hive天然就具备了Hdfs,MapReduce的特性。

我们和传统数据库进行对比看看Hive有哪些优势和不足,当然这种不足是特定场景下的,也是Hive不擅长的领域。

hive的编写语法和传统的sql类似,核心的是hive有一套不同与sql的语法规则,最终被解释为mapReduce任务。hive只适合在海量数据下进行批量数据统计分析。

我们在来看看hive和mapReduce之间的关系,如图:

在来看看hive的内部结构示意图

Driver组件:

SQL Parser:编译器,将HQL转换成抽象语法树。

Query Optimizer:查询优化器

Physical Plan,SerDes,Udfs:执行器

解释器、编译器、优化器完成 HQL 查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在HDFS 中,并在随后有 MapReduce 调用执行。

Metastore组件:Hive将元数据存储在数据库中。Hive 中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等

Hive处理命令的流程示意图:

SQL Parser将SQL语句转换成抽象语法树---》生成逻辑执行计划----》查询优化----》 物理执行计划(SerDes序列化与反序列化,UDFs,执行引擎)

上面主要是从整体上介绍hive,已经hive相关的组件,最后总结下hive有哪些特点:

1,hive延迟高,适合高吞吐量,批量,海量数据处理。

2,语法和SQL相似,学习成本低,避免去写复杂的MapReduce,缩短开发周期。

3,Hive支持自由的扩展集群的规模,一般不需要重启服务。

4,Hive支持自定义函数,用户可以根据自己的需求去定义函数。

5,良好的容错性,节点出现问题,SQL仍然可以成功执行。

。。

整体上来说是继承了HDFS和MapReduce的特点。

数据僧,祝愿每个在数据道路上的人越走越好。你们的关注 是我巨大的动力。欢迎大家在评论区留言,大家一起讨论。

Hive的数据模型是怎样的

Hive并不存储数据,Hive只是一个Sql解析工具

Hive的架构

hive的数据存储依赖于hadoop中的hdfs作为数据的存储源。并且Hive本身也没有计算引擎,也是依赖其他的计算引擎,如:mapreduce,spark,tez

怎样在hive里用SQL查询呢

感谢邀请。

Apache Hive还是我2年前在项目组中构建大数据集数据仓库用到的技术,当时用到的版本是1.5, 现在的版本是2.3.2 增加了许多功能点,如beeline、增加后端计算引擎支持等。

先简单介绍下Apache Hive, 它是Hadoop生态链中的一个数据仓库(Data Warehouse)工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,而sql语句转换为MapReduce任务进行运行,在Hive2.0以上的版本,sql还可以转化为Spark任务,其速度往往比MapReduce任务快的多。

Hive的优点是学习成本低,简单易用。 Hive 定义了简单的类 SQL 查询语言,称为 HiveQL。 允许熟悉 SQL 的开发人员不必开发专门的MapReduce应用就可以对数据进行操作和查询,十分适合数据仓库的统计分析。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。

问题中的Hive如何用sql查询信息,更准确的说法是如何调用HiveQL查询信息。熟悉SQL查询方式(select clause)几乎无缝在Hive中查询。

Hive查询语句的语法:

SELECT select_expr, select_expr, ... FROM table_reference ;

下面给出几个例子说明Hive的使用。

1,对文件中的词频进行统计分析。

hive》》 DROP TABLE IF EXISTS docs;hive》》 CREATE TABLE docs (line STRING);hive》》 LOAD DATA INPATH ’input_file’ OVERWRITE INTO TABLE docs;hive》》 CREATE TABLE word_counts

AS

SELECT word, count(1) AS count

FROM

(SELECT explode(split(line, ’\s’)) AS word FROM docs) temp

GROUP BY word

ORDER BY word;

2, 比如说数据文件已经映射为如下表:

a. 获取工资大于25000的人员姓名和职位。

hive》 SELECT Name, Position FROM employee WHERE salary》25000;

b, 获取职位相关人员数量

hive》 SELECT Position, COUNT(1) AS PersonCount FROM employee GROUP BY Postion;

可以看出简单用法时和普通的SQL语句没有太多区别。

【补充】

1,进入Hive终端的方式很直接,在安装好Hive并且配置好环境变量后,直接键入hive 或者beeline就会进入Hive的终端。正常的话就会看到提示符如下:

hive 》 ....

就可以在其中输入其他命令或者语句了。

2, 进入Hive后可以用下列命令查询Hive数据仓库的基本情况,比如表的个数, 表的属性信息等:

hive 》 show tables;
hive 》 describe `tablename’;

希望这个回答可以有帮助,欢迎交流!



扫码加微信详细咨询太和智慧养老产品和平台服务!



扫码加微信详细咨询太和智慧养老产品和平台服务!

 

 





版权声明:

---------------------------------------------------------------


所有信息来源于互联网,本文的版权归原作者所有,不代表本网观点和立场。

本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 81480447@qq.com 举报,一经查实,本站将立刻删除。



扫码加微信详细咨询太和智慧养老产品和平台服务!

 

养老资讯
助老机构介绍
评论
已有 0 条评论

最新评论

推荐养老院

您希望养老院位于
  • 不限
  • 东城
  • 西城
  • 崇文
  • 宣武
  • 朝阳
  • 丰台
  • 石景山
  • 海淀
  • 门头沟
  • 房山
  • 通州
  • 顺义
  • 昌平
  • 大兴
  • 怀柔
  • 平谷
  • 延庆
  • 密云
您希望的价格范围
  • 不限
  • 500以下
  • 500-1000
  • 1000-2000
  • 2000-3000
  • 3000-5000
  • 5000以上
老人的情况是
  • 不限
  • 自理
  • 半自理
  • 全护理
  • 特护

姓名

年龄

电话

全国城市养老院



关于我们 | 联系方式 | 网站地图 | 友情链接

Copyright 2010-2022 京ICP备18035644号-3 北京太和 版权所有