Hive入门教程(一):初次见面 Hive 简介
2021年04月01日 14:52:26 · 本文共 975 字阅读时间约 3分钟 · 3,830 次浏览在完成之前的 Hadoop 入门系列教程以后,现在才开始真正的接触数据仓库,我们先了解一下 Hadoop 生态圈中的 Hive 是什么。
Hive 是什么
Hive是一个基于Apache Hadoop的数据仓库。由Facebook开源用于解决海量结构化日志的数据统计。他能够管理hadoop中的数据,同时可以查询hadoop中的数据。
Hive设计的初衷是:对于大量的数据,使得数据汇总,查询和分析更加简单。它提供了SQL,允许用户更加简单地进行查询,汇总和数据分析。同时,Hive的SQL给予了用户多种方式来集成自己的功能,然后做定制化的查询。
我个人的理解 Hive 就是个SQL解析引擎,将 SQL 指令翻译成 MapReduce 的 Job 进行执行,方便了我们对数据的操作。因为他是基于 MapReduce 的所以 Hive不 是为在线事务处理而设计。它最适合用于传统的数据仓库任务。
上面说到 Hive 其实是基于 MapReduce,所以 Hive 可以把SQL中的表、字段转换为HDFS中的文件(夹)以及文件中的列,这个映射的操作就会产生映射数据,也就是元数据,称之为metastore,一般存放在derby、mysql中。
根据上面的描述,我自己认为 Hive 就是对 MapReduce 的高级包装,就像 MyBatis 包装了 JDBC,让我们更容易的使用。
与传统数据库的比较
上面的介绍说 Hive 是数据仓库而不是数据库,但又都使用 SQL,那区别是什么呢?其实区别还挺大的。
查询语言
其实 Hive 根据自身的特性设计了类SQL的查询语言HQL,不完全是你熟知的 SQL。
数据存储位置
Hive 是建立在 Hadoop 之上的,所有 Hive 的数据都是存储在 HDFS 中的。而数据库则可以将数据保存在块设备或者本地文件系统中。
数据更新
之前的教程中介绍了 HDFS,它对数据改写很不友好,所以 Hive 中不建议对数据的改写,所有的数据都是在加载的时候确定好的。如果你有数据需要一直变化,那这个就不适合你。
索引
Hive没有索引,在加载数据的过程中不会对数据进行任何处理,甚至不会对数据进行扫描,因此也没有对数据中的某些Key建立索引。Hive要访问数据中满足条件的特定值时,需要暴力扫描整个数据,因此访问延迟较高。
总结
综上所述,Hive 是数据仓库,适合非在线实时的数据存取,而且不擅长数据变更,执行效率也不如数据库,只不过是将 SQL 转换成了 MapReduce,但借助 HDFS 可以存储海量的数据。下一篇我们将带你安装 Hive。
版权声明:本文为博主「任霏」原创文章,遵循 CC BY-NC-SA 4.0 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.renfei.net/posts/1003486
相关推荐
猜你还喜欢这些内容,不妨试试阅读一下以下内容均由网友提交发布,版权与真实性无法查证,请自行辨别。
- 前后端分离项目接口数据加密的秘钥交换逻辑(RSA、AES)
- OmniGraffle 激活/破解 密钥/密匙/Key/License
- 人大金仓 KingbaseES V8 R3 安装包、驱动包和 License 下载地址
- Parallels Desktop For Mac 16.0.1.48911 破解版 [TNT]
- Redis 未授权访问漏洞分析 cleanfda 脚本复现漏洞挖矿
- CleanMyMac X 破解版 [TNT] 4.6.0
- OmniPlan 激活/破解 密钥/密匙/Key/License
- Sound Control 破解版 2.4.2
- Parallels Desktop For Mac 15.1.4.47270 破解版 [TNT]
- Parallels Desktop For Mac 16.0.0.48916 破解版 [TNT]
- 博客完全迁移上阿里云,我所使用的阿里云架构
- 微软确认Windows 10存在bug 部分电脑升级后被冻结
- 大佬们在说的AQS,到底啥是个AQS(AbstractQueuedSynchronizer)同步队列
- 比特币(BTC)钱包客户端区块链数据同步慢,区块链数据离线下载
- Java中说的CAS(compare and swap)是个啥
- 小心免费主题!那些WordPress主题后门,一招拥有管理员权限
- 强烈谴责[wamae.win]恶意反向代理我站并篡改我站网页
- 讨论下Java中的volatile和JMM(Java Memory Model)Java内存模型
- 新版个人网站 NEILREN4J 上线并开源程序源码
- 我站近期遭受到恶意不友好访问攻击公告