Hive介绍

Hive与Hadoop

Hive是完全运行在hadoop之上的一个数据分析工具,可以看作是hadoop的一个自然延伸。具备强大的数据分析能力,在对标准SQL保持高度兼容的基础上,提供了大量增强功能和插件机制。

优点:非常成熟稳定,部署方便,语法类似sql,不必再写mapreduce程序,学习成本低,适合做ETL(来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程)类的处理。
缺点:完全利用hadoop集群自身的计算能力,性能上比spark略低。不适合需要反复迭代的场景(如机器学习等等)

简单来说Hive提供了从Hdfs文件系统提取文件成结构化数据的能力,适合吞吐量大对延迟要求低的读取任务。


Hive和Hbase,Mysql等数据库的区别

链接:https://www.zhihu.com/question/21677041/answer/25222796
来源:知乎

对于hbase当前noSql数据库的一种,最常见的应用场景就是采集的网页数据的存储,由于是key-value型数据库,可以再扩展到各种key-value应用场景,如日志信息的存储,对于内容信息不需要完全结构化出来的类CMS应用等。注意hbase针对的仍然是OLTP(On-Line Transaction Processing 联机事务处理系统(OLTP))应用为主。

对于hive主要针对的是OLAP(联机分析处理)应用,注意其底层不是hbase,而是hdfs分布式文件系统,重点是基于一个统一的查询分析层,支撑OLAP应用中的各种关联,分组,聚合类SQL语句。hive一般只用于查询分析统计,而不能是常见的CUD操作,要知道HIVE是需要从已有的数据库或日志进行同步最终入到hdfs文件系统中,当前要做到增量实时同步都相当困难。

和mysql,oracle完全不是相同的应用场景。这个是结构化数据库,针对的更多的是结构化,事务一致性要求高,业务规则逻辑复杂,数据模型复杂的企业信息化类应用等。包括互联网应用中的很多业务系统也需要通过结构化数据库来实现。所以和hbase,hive不是一个层面的东西,不比较。

基础概念

语法和sql类似,操作的是hdfs上的文件,被转换成MR任务

Table:一个虚拟的表,所有的操作均是在这个实体上进行的。
Table-metadata:表元数据,即表的结构、分区、hdfs映射关系等等。hive将这些元数据存储在一个关系型数据库中,默认是内嵌的derby。

Partition:表分区。一般以时间为维度。其底层是直接映射到HDFS文件的。因此所谓的添加分区就是建立这种映射关系。同一个table的不同的分区映射到不同的HDFS文件。

Serde:序列化机制。指table的字段如何映射到HDFS文件的字段。默认情况下hive支持纯文本方式的序列化,即HDFS文件每行即一条记录,而每个数据行以指定的分隔符来分割字段。目前所在公司主流数据都是json文本,所以需要json-serde插件来完成这一工作。

系统文档

https://cwiki.apache.org/confluence/display/Hive/LanguageManual


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值