HBase数据访问的一些常用方式
|
类型 |
特点 |
场合 |
优缺点分析 |
|
Native Java API |
最常规和高效的访问方式 |
适合MapReduce作业并行批处理HBase表数据 |
|
|
Hbase Shell |
HBase的命令行工具,最简单的访问方式 |
适合HBase管理使用 |
|
|
Thrift GateWay |
利用Thrift序列化技术,支持c++,PHP,Python等多种语言 |
适合其他异构系统在线访问HBase表数据 |
|
|
REST Gateway |
解除了语言限制 |
支持REST风格的Http API访问Hbase |
|
|
Pig |
使用Pig Latin流式编程语言来处理HBase中的数据 |
适合做数据统计 |
|
|
Hive |
简单 |
可以以类似SQL方式访问Hbase |
|
|
Phoenix |
构建在Apache Hbase上的一个SQL中间层,可以让开发者在HBase上执行SQL查询。 |
对于简单的低延迟查询,量级为毫秒;对于百万级别的行数来说,量级为秒;对于10万到100万行的简单查询,胜过Hive.对于使用了Hbase API,协同处理器及自定义过滤器的Impala与OpenTSDB来说,进行相似的查询,Phoenix的速度更快一些; |
|
|
Kundera |
Kundera是一个JPA 2.0兼容的NoSQL数据存储的对象映射框架。Kundera基于现有类库构建,封装出简易的API |
支持交叉数据存储持久性,意味着用户可以在不同的数据存储使用单一方法存储和获取相关实体。 能够会很好的管理事务,同时支持EntityTransaction和Java Transction API; 兼容JPA 2.0,严格使用JPA注解对象映射到数据库存储表。 目前只是的NoSQL服务包括:Cassandra,HBase,MongoDB,Redis,OracleNoSQL,Neo4j; |
|
|
Lealone |
淘宝出品,
支持高性能的分布式事务,使用一个非常新颖的,基于局部时间戳的多版本冲突有效性检测的事务模型,是对H2关系数据库的改进和扩展,是一个100%纯Java的将BigTable和RDBMS融合的数据库。 |
||
|
hbase-sql |
在Hbase提供的API中,使用Scan来查询数据,在hbase-sql实现过程中将SQL语句转换成Scan,然后进行具体查询,主要处理流程: SQL语句--SQL解析器--SQL语法结点--Scan-hbase-ResultScanner--List 感觉下来还是解析完SQL,然后整表扫描,拿到一个结果集 |
||
|
Interactive Query |
Intel研发的基于HBase的SQL引擎层,是非开源的,是Intel Hadoop发行版的一个模块,使用封装的HBase查询引擎层来解析HiveQL,该引擎拥有更高的性能。 |
||
|
Impala |
Cloudera发布实施查询开源项目Impala,经多款产品测试表明,比原来基于MapReduce的Hive SQL查询速度提升了3-90倍。Impala是Google Dremel的模仿,但是在SQL的性能上更好。 |
Impala采用与Hive相同的元数据,SQL语法,ODBC驱动程序和用户接口,这样在使用CDH产品时,批处理和实时查询的平台是统一的。 |
一些兼容性问题 |
HBase数据访问的一些常用方式的更多相关文章
- iOS- 网络访问两种常用方式【GET & POST】实现的几个主要步骤
1.前言 上次,在博客里谈谈了[GET & POST]的区别,这次准备主要是分享一下自己对[GET & POST]的理解和实现的主要步骤. 在这就不多废话了,直接进主题,有什么不足的欢 ...
- HBase的访问方式
这里只介绍三种最常用的方式 1.HBase shell HBase的命令行工具是最简单的接口,主要用于HBase管理 首先启动HBase 帮助 hbase(main):001:0> help 查 ...
- salesforce 零基础学习(三十三)通过REST方式访问外部数据以及JAVA通过rest方式访问salesforce
本篇参考Trail教程: https://developer.salesforce.com/trailhead/force_com_dev_intermediate/apex_integration_ ...
- iOS边练边学--应用数据存储的常用方式(plist,Preference,NSKeyedArchiver)其中的三种
iOS应用数据存储的常用方式: XML属性列表(plist)归档 Preference(偏好设置) NSKeyedArchiver归档(NSCoding) SQLite3--这里暂且不讲 Core D ...
- ADO.NET编程之美----数据访问方式(面向连接与面向无连接)
最近,在学习ADO.NET时,其中提到了数据访问方式:面向连接与面向无连接.于是,百度了一下,发现并没有很好的资料,然而,在学校图书馆中发现一本好书(<ASP.NET MVC5 网站开发之美&g ...
- iOS应用数据存储的常用方式
iOS应用 数据存储的常用方式 XML属性列表 plist Preference 偏好设置 NSKeyedArchiver 归档 Core Data SQLite3 应用沙盒: Layer: ...
- 关系型数据库工作原理-查询优化器之数据访问方式(翻译自Coding-Geek文章)
本文翻译自Coding-Geek文章:< How does a relational database work>.原文链接:http://coding-geek.com/how-data ...
- OPC Utgard的数据访问方式
1.同步读取某个点位的值 Item项的read()方法 Server server = new Server(BaseConfiguration.getCLSIDConnectionInfomatio ...
- 高性能Javascript--高效的数据访问
接上一篇,希望能写一个高性能Javascript专题. 第一篇:高性能Javascript--脚本的无阻塞加载策略. 参考摘录<高性能Javascript>. 经典计算机科学的一个问题是, ...
随机推荐
- Oracle EBS AR 更新客户组织层
declare -- Local variables here i integer; g_module ) := 'TCA_V2_API'; lrec_org hz_party_v2pub.organ ...
- [VS2008] 安装 AnkhSVN 后,选项中选择它,Pending Changes 窗口一闪而过,源代码管理工具自动跳回 【None】
执行以下命令以修复: "C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe" /re ...
- .net Cookie的操作
using System; using System.Collections.Generic; using System.Web; namespace Zhong.Core { /// <sum ...
- marquee 标签的鼠标放上去滚动效果 鼠标离开继续滚动
效果很实用,可以轻松的实现鼠标放上去停止滚动.鼠标离开继续滚动的效果.下面是具体的用法(特别注意onMouseOver和onMouseOut是需要同时写进去才会出现比较好的效果):onMouseOut ...
- 映射函数map
映射函数map 语法: map(function, iterable) 迭代对象中 的每一个元素进行映射, 分别执行function函数 例子: ls =[1,2,3,4,5,6] def func ...
- 【名称解释】#001 IIS名词解释
关于[名称解释]类型的文章,会慢慢更新. 2015.02.06 更 应用程序池: 应用程序池是将一个或多个应用程序链接到一个或多个工作进程集合的配置. 因为应用程序池中的应用程序与其他应用程序被工作进 ...
- 第2次作业——APP的案例分析
APP的案例分析 网易有道词典APP,使用这个软件有三年之久.唯独最爱的一点就是我每天都能听到不一样的英文歌看到创作歌手的来历,当然偶尔也会有其他国家的歌.起初使用这个软件的目的是用来查单词,每天积累 ...
- Spring 入门(概述)
1.什么是框架 2.Spring简介 3.IOC(配置.注解) 4.Bean(配置.注解) 5.AOP(配置.注解.AspectJ.API) 资源: http://spring.io/ http:// ...
- [T-ARA][For you]
歌词来源:http://music.163.com/#/song?id=33682511 作曲 : Monster Factory [作曲 : Monster Factory] 作词 : Monste ...
- php实现随机数字、字母的验证码
php实现随机数字.字母的验证码 可自定义生成验证码文字的大小.数量.干扰项等等,也可以自定义验证文字的字体... 废话不多说,直接上代码: 1.classgd.class.php <?php ...
