【Java】HBase_thrift/thrift2_使用指南

Thrift server简介

Thrift server是HBase中的一种服务,主要用于对多语言API的支持。基于Apache Thrift(多语言支持的通信框架)开发,目前有两种版本thriftthrift2

thrift2是当时为了适应新的Java API,提出来的。由于种种原因,thrift2没有完美兼容并替代thrift,所有就留下了两个版本。

Thrift 和 Thrift2 的区别

  • 接口设计上Thrift2要比Thrfit更优雅,或者说和现在的API更贴近。比如两者的get接口:
    // Thrift2 的get接口,传入TGet(对应Java API种的Get类)
    // 用过Java API的同学看起来应该会更亲切
    TResult get(
         /** the table to get from */
        1: required binary table,
        /** the TGet to fetch */
        2: required TGet tget
    ) throws (1: TIOError io)
    // Thrift 的get接口,没有TGet这些包装,比较裸
    list<TCell> get(
        /** name of table */
        1:Text tableName,
        /** row key */
        2:Text row,
        /** column name */ 
        3:Text column, 
        /** Get attributes */
        4:map<Text, Text> attributes
    ) throws (1:IOError io)
  • Thrift2没有DDL方面的接口,所以现在Hue还是用Thrift的接口。如果你只想读写数据,建议用Thrift2。

Thrift server原理

Thrfit其实就是个代理,你的请求发到Thrift server上后,server通过Java API再帮你访问HBase。
Thrift_server
Thrift实现类是org.apache.hadoop.hbase.thrift.ThriftServer,thrift2的实现类是org.apache.hadoop.hbase.thrift2.ThriftServer。它们访问HBase使用的也是普通的HBase client API,所以当你的请求到达Thrift server后,它通过client API去帮你定位数据,然后读取数据。这么来看,Thrift Server比较灵活,你可以部署在客户机上,也可以独立部署一个thrift集群。

阅读原文请点击

转载于:https://my.oschina.net/u/3161071/blog/908298

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值