Hive与Hbase使用域
来源:互联网 发布:大学生网络暴力感悟 编辑:程序博客网 时间:2024/05/19 12:28
Hive和Hbase有各自的不同特性:
hive是高延迟,结构化和面向分析的,hbase是低延迟,非结构化和面向编程的。
hive数据仓库在hadoop上时高延迟的,hive集成hbase就是为了使用hbase的一些特性,hive集成hbase可以有效利用habse数据库的存储特性,如行更新和列索引等,在集成的过程中注意维持hbase jar包的一致性。hive集成hbase需要在hive表和hbase表之间建立映射关系,也就是hive表的列和列类型与hbase表的列族及列限定词建立关联。每一个在hive表中的域都存在于hbase中,而在hive表中不需要包含所有的hbase中的列,hbase中的rowkey对应到hive中为选择一个域使用:key来对应,列族映射到hive中的所有域。
Hive是为了简化编写MapReduce程序而生的,使用MapReduce做过数据分析的人都知道,很多分析程序除业务逻辑不同外,程序流程基本一样。在这种情况下,就需要Hive这样的用戶编程接口。Hive本身不存储和计算数据,它完全依赖于HDFS和MapReduce,Hive中的表纯逻辑,就是些表的定义等,也就是表的元数据。使用SQL实现Hive是因为SQL大家都熟悉,转换成本低,类似作用的Pig就不是SQL。
HBase为查询而生的,它通过组织起节点內所有机器的內存,提供一個超大的內存Hash表,它需要组织自己的数据结构,包括磁盘和內存中的,而Hive是不做这个的,表在HBase中是物理表,而不是逻辑表,搜索引擎使用它來存储索引,以满足查询的实时性需求。
简单来说hive用来批量处理数据,HBase用来快速索引数据。HBase是一个分布式的基于列存储的非关系型数据库。HBase的查询效率很高,主要由于查询和展示结果。hive是分布式的关系型数据库。主要用来并行分布式 处理 大量数据。hive中的所有查询除了"select * from table;"都是需要通过Map\Reduce的方式来执行的。由于要走Map\Reduce,即使一个只有1行1列的表,如果不是通过select * from table;方式来查询的,可能也需要8、9秒。但hive比较擅长处理大量数据。当要处理的数据很多,并且Hadoop集群有足够的规模,这时就能体现出它的优势。通过hive的存储接口,hive和Hbase可以整合使用。
- Hive与Hbase使用域
- Hive与Hbase结合使用
- 【Hive/HBase】Hive与HBase的整合
- hive与hbase整合
- Hive与HBase集成
- hbase与hive整合
- hbase 与 hive配置
- hbase 与 hive 结合
- hive与hbase整合
- Hive与HBase区别
- hive与Hbase整合
- Hive与HBase集成
- hive与hbase集成
- hbase 与 hive 结合
- hive与hbase整合
- hive与hbase整合
- hive 与 hbase 整合
- Hive与Hbase整合
- struts 拦截器(Interceptors)
- ORA-12560: TNS: 协议适配器错误的问题
- 【设计模式】创建型模式-抽象工厂
- IntentFilter---意图过滤器
- 一个最简单的Makefile例子
- Hive与Hbase使用域
- HDU1677:Nested Dolls
- MFC访问 静态/动态 文本框
- 推荐16个免费的jQuery日期和时间插件
- 使用Java Swing的JComboBox实现Html中Select的key-value功能
- POJ 3450 Corporate Identity
- 【计算机网络】计算机网络体系结构
- 学习python(十四)
- HDU--1236 -- 排名 [使用库函数简单排序]