Hbase 是什么?
Hbase 是一个架构在 Hdfs 文件系统上的列式存储, 是开源的, 分布式, 面向列的数据库. 适合于非结构化数据存储的数据库.
Hbase 是一个高可靠, 高性能, 面向列, 可伸缩的分布式存储系统, 可以在廉价的 PC Server 搭建大规模结构化存储集群.
1,HBase 位于 Hadoop 生态系统的结构化存储层.
image
2,HDFS 作为其底层的文件存储
3,MapReduct 为 Hbase 提供高性能的计算能力
4,Zookeeper 为 HBase 提供了稳定的服务和 failover 的能力
image
Hive 是什么?
hive 是一个基于 Hadoop 的一个数据仓库工具. 可以将结构化数据映射为一张数据库表, 并且提供 sql 的查询能力, 可以将 sql 换换为 MapReduce 任务进行.
1, 用户接口, hive 主要有三个接口, CLI(CLI 启动的时候会同时气筒一个 Hive 的副本),Client(hive 的客户端, 连结 hive server),web UI(通过浏览器访问)
2, 元数据存储, hive 将元数据存储在数据库中如: MySQL.
3,Driver(解释器, 编译器, 优化器, 执行器): 完成词法分析, 语法分析, 优化, 编译, 优化以及查询计划的生成, 随后由 MapReduce 使用.
4,Hadoop ,hive 的数据存储在 Hdfs 中. 大部分的查询由 MapReduce 完成.
下面我们看看 Hive 的架构图:
hive
上面我们分别看了 Hbase 的特点, hive 的特点, 那么 Hbase 和 Hive 的差别是什么以及各自的使用场景是什么?
1,Hbase 和 Hive 二者都是以 Hdfs 为文件存储.
2,Hbase 支持列扩展, 可以对单元格修改. 采取 K-V 的设计, 因此查询效率比较高, 一般用于延迟忍耐低的场景; 还有就是经常需要扩展属性, 修改属性场景.
3,Hbase 的查询一般通过命令窗口进行, 语句比较负责, 但是 hive 的采用标准的 sql 语法, 门槛低, 上手简单. 当然 Hbase 也有 Phoenix 可以去支持 sql 这样的语法操作.
下面看看 hbase 具体的应用场景:
千万并发, PB 存储, KV 基础存储, 动态列, 强同步, 稀疏表, 二级索引, SQL
hbase 具体的应用场景
1, 对象存储: 头条类, 新闻类的的新闻, 网页, 图片存储在 HBase 之中, 一些病毒公司的病毒库也是存储在 HBase 之中.
2, 时序数据: HBase 之上有 OpenTSDB 模块, 可以满足时序类场景的需求.
3, 推荐画像: 用户的画像, 是一个比较大的稀疏矩阵. 蚂蚁的风控就是构建在 HBase 之上.
4, 时空数据: 主要是轨迹, 气象网格之类, 滴滴打车的轨迹数据主要存在 HBase 之中, 另外在技术所有大一点的数据量的车联网企业, 数据都是存在 HBase.
5,CubeDB OLAP:Kylin 一个 cube 分析工具, 底层的数据就是存储在 HBase 之中, 不少客户自己基于离线计算构建 cube 存储在 hbase 之中, 满足在线报表查询的需求.
6, 消息 / 订单: 在电信领域, 银行领域, 不少的订单查询底层的存储, 另外不少通信, 消息同步的应用构建在 HBase 之上.
Hive 不能支持列扩展, 支持追加, 好像在新版本中可以支持修改, 但是效率比较低. Hive 处理的数据的吞吐量高, 文件越大, hive 的优势就约明显. 一半用于 延迟忍耐高的场景.
下面再来看看 Hive 的具体使用场景:
1, 分析网络日志.
2,ETL 清洗数据.
3, 构建数据仓库.
4, 数据挖掘
那么 Hbase 和 Hive 在具体的使用场景各自在什么位置呢? 我们可以通过下图来了解下:
通过 ETL 工具将数据源抽取到 HDFS 存储, 通过 hive 清洗处理和计算原始数据, 对数据进行标准化, 统一化. 如果是面向海量的查询场景可以存储 Hbase, 数据应用从 Hbase 中查询数据.
处于什么位置
最后在总结: Hbase 和 Hive 本身都不能存储数据. 二者都是对 Hdfs 上的文件在做了一次组织. 从而适应不同的场景. Hbase 在与查询, 动态列场景更有优势, 但是无法进行数据分析和挖掘. 二 Hive 本身无法在低延迟的场景下使用. Hive 可以处理大量数据的 ETL 清洗. 构建统一的标准的数据仓库, 从而提供基础数据, 共上层数据分析. 所以 hive 更加偏向于数据分析.
如果您觉得我用心了, 觉得您有所收获, 麻烦关注下我吧, 您的关注就是我的动力, 因为有你, 我就不是一个人在前行.
来源: http://www.jianshu.com/p/71c3ebf82c6f