经验分享(3)hbase client 如何选择

java中访问hbase有两种方式,一种是hbase自带的client,一种是通过hbase thrift

1 hbase client示例

        Configuration conf = HBaseConfiguration.create();

        conf.set(HConstants.ZOOKEEPER_CLIENT_PORT, "2181");

        conf.set(HConstants.ZOOKEEPER_QUORUM, "zk_host");

        Connection connection = ConnectionFactory.createConnection(conf);

        Table profileTable = connection.getTable(TableName.valueOf("test_table"));

        Result result = profileTable.get(new Get(Bytes.toBytes("test_rowkey")));

        System.out.println(new String(result.getValue(Bytes.toBytes("test_cf"), Bytes.toBytes("test_column"))));

这里只需要配置zookeeper,访问的过程是先通过zookeeper找hmaster,然后通过hmaster定位到一个region server,然后访问region server,所以需要客户端到hbase所有节点(包括zookeeper、hmaster、region server)可达,即host能ping通;

2 hbase thrift示例

        TTransport transport = null;

        try {

            transport = new TSocket(host, port, timeout);

            transport.open();

            TProtocol protocol = new TBinaryProtocol(transport);

            THBaseService.Iface client = new THBaseService.Client(protocol);

            ByteBuffer table = ByteBuffer.wrap(tableName.getBytes());

            TGet get = new TGet(ByteBuffer.wrap(rowKey.getBytes()));

            try {

                TResult result = client.get(table, get);

                return result;

            } catch (Exception e) {

                throw new RuntimeException(e);

            }

        } catch (Exception e) {

            throw new RuntimeException(e);

        } finally {

            transport.close();

        }

这里只需要配置hbase thrift server的ip和端口,没有任何其他依赖;单点问题可以通过加load balancer来解决;

综上,如果不需要配host,两种都可以,如果需要配host,使用thrift更简单;

原文地址:https://www.cnblogs.com/barneywill/p/10109258.html

时间: 2024-10-13 00:27:53

经验分享(3)hbase client 如何选择的相关文章

MySQL 性能优化的最佳20多条经验分享

今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的                    事,而这更是我们程序员需要去关注的事情. 当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能.这里,我们不会讲过多的SQL语                句的优化,而只是针对MySQL这一Web应用最多的数据库.希望下面的这些优化技巧对你有用. 1. 为查询缓存优化你的查询 大多数的M

20多条MySQL 性能优化经验分享

当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能.这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库.希望下面的这些优化技巧对你有用. 1. 为查询缓存优化你的查询 大多数的MySQL服务器都开启了查询缓存.这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的.当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了. 这里最主要

用户界面设计经验分享:界面设计技巧分享

如此有用的文章我已记不得是什么时候发现的了,但在看完的那一刻便想将之翻译,分享给大家自己也受用. 时间过了很久,来到了2014年,终于静下心来花了大把时间连同图片一起译成了中文.像我这样业余的翻译六级分数只够及格的程序员,不敢说做到信雅达,但求意思到位. 1 尽量使用单列而不是多列布局 单列布局能够让对全局有更好的掌控.同时用户也可以一目了然内容.而多列而已则会有分散用户注意力的风险使你的主旨无法很好表达.最好的做法是用一个有逻辑的叙述来引导用户并且在文末给出你的操作按钮. 2 放出礼品往往更具

wordpress网站搬家(换主机不换域名)经验分享

20多天的备-案审核下来后,空间不稳定,网站出现很多问题,不是打开慢就是错误页面,于是换个主机,搬回国内后终于稳定了,中间遇到不少问题.现在给大家分享下我的网站搬家过程吧. 首先到原来的主机空间备份网站数据: 备份数据分为两种:网站数据库的备份和整个网站(wordpress博客的全部目录和文件)的备份. 1.数据库的备份可以通过PHPMyAdmin来备份.控制面板上有数据库信息的可以直接备份,没有的要下载PHPMyAdmin进行备份.我的属于有mysql的情况.首先登录控制面板,点击mysql管

大数据经验分享

大数据经验分享 随着互联网的发展,尤其是近期互联网大会召开,再一次谈到大数据,大数据发展趋势已经成为一种必然.那么我们怎样去迎接这样一个新的数据时代?我们可以看到越来越多的人想学习大数据,可是却无从下手,根据自己的经验为大家分享一下大数据的知识: 一.大数据是什么?它的特征? 大数据指一般的软件工具难以捕捉.管理和分析的大容量数据. 大数据有4V特征:Volume(大量).Velocity(实时).Variety(多样).Value(价值). 大数据(big data),或称海量资料,指的是所涉

创业中的一些经验分享(1)——创业杂谈

等了好久,微信公众号终于开通啦!关注微信公众号,除了你在这里看到的,还会有更多的干货哦! ------------------------------------------------------------ 关于谁适合做创业者这个问题,我曾经在<你是最适合创业的程序员>这篇文章中写过.但这篇东西写于2008年,彼时的我,只做过一些小的互联网买卖,不能算是严格意义上的创业.因此,今天我又再次翻出这个老话题跟大家聊聊:你是最适合创业的程序员,吗? 和六年前不一样,整个国内的互联网生存状态发生了

Android学习经验分享

最近一直在学习安卓,一直以来都是通过自学和博客园的一些文章来进行学习.这里写下点个人学习安卓的感想与感悟. 一  为什么学习安卓 首相,个人比较喜欢手机上的各种App,觉得像我这样的人手机app粉丝也不再是少数.而在ios和Android分割的天下,显然Android所占的群众比是远多于ios的. 其次,本人临近毕业,将来想寻求一份关于移动开发的工作,而java方向的Android正和和本人的意愿相合. 最后一点,也是很客观的一点.虽然ios的开发者的薪金要高于Android,但是Android

MySQL 性能优化的最佳20多条经验分享[转]

今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情. 当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能.这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库.希望下面的这些优化技巧对你有用. 1. 为查询缓存优化你的查询 大多数的MySQL服务器都开启了查询缓存.这是提高性最有效的方法之一,而且这是被M

CSS浮动(float)属性学习经验分享

作为一名前端开发的初学者,CSS的布局定位无疑成为了一个难点,这两天通过看一些博客的技术分享和自己的反复实践,大概领悟到了一些float的“门道”. 下面就通过一些例子来归纳总结一下我所学到的浮动特性: (一)浮动元素对其兄弟元素是标准流元素的影响: 现在假定HTML文档中从上到下有3个块元素A.B.C 1.现设定A.C为标准流中的元素,B设为float:left (注:为了更直观地显示,设B的透明度为0.5,B是在C上方的) 由此可见:将B设为浮动元素后,B脱离了标准文档流,浮于其上方,因此他