文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
1.4 Hadoop 生态的内部关系
1.4.1 Hadoop 生态内比较
前者 | 后者 | 共同点和应用场景 | |
---|---|---|---|
Pig VS Hive | Pig 赋予开发人员在大数据集领域更多的灵活性,并允许开发简洁的脚本用于转换数据流以便嵌入到较大的 应用程序。 相对轻量。 | Hive 更适合于数据仓库的任务,Hive 主要用于静态的结构以及需要经常分析的工作。 Hive 与 SQL 相似促使 其成为 Hadoop 与其他 BI 工具结合的理想交集。 | Hive 和 Pig 都可以与 HBase 组合使用,Hive 和 Pig 还为 HBase 提供了高层语言支持,使得在 HBase 上进行数据统计处理变的非常简单 |
HBase VS Hive | HBase 是为了支持弥补 Hadoop 对实时操作的缺陷的项目 。 | Hive 是建立在 Hadoop 之上为了减少 MapReduce jobs 编写工作的批处理系统。 不支持实时查询 。 | 操作 RMDB 数据库,如果是全表扫描,就用 Hive+Hadoop,如果是索引访问,就用 HBase+Hadoop 。 |
备注:1. Hive 数据分为真实存储的数据和元数据,真实数据存储在 HDFS 中,元数据存储在 MySQL 中。
1.4.2 Hive 和 Hadoop 关系
Hive 简介
一、定义
1、Hive 是 facebook 数据团队基于 Hadoop 开发的数据仓库封装。
2、Hive 将结构化的数据文件映射为一张数据库表,并提供完整的 sql 查询功能。
3、以数据库的方式去管理 HDFS。
4、Hive 把 sql 语句解析为 MapReduce 任务进行运行。
二、优点
1、学习成本低,拥有传统的关系型数据库知识即可以用类 SQL 语句快速实现简单的 MapReduce 计算。
2、不必开发专门的 MapReduce 应用,十分适合数据仓库的统计分析。
三、缺点
1、SQL 语句还不够强大。
图 9 Hive 和 Hadoop 关系
Hive 构建在 Hadoop 之上,
- HQL 中对查询语句的解释、优化、生成查询计划是由 Hive 完成的
- 所有的数据都是存储在 Hadoop 中
- 查询计划被转化为 MapReduce 任务,在 Hadoop 中执行(有些查询没有 MR 任务,如:select * from table)
- Hadoop 和 Hive 都是用 UTF-8 编码的
1.4.3 Spark 与 Hadoop 关系
图 10 Spark 与 Hadoop 关系
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论