【Java】HBase_thrift/thrift2_使用指南
【Java】HBase_thrift/thrift2_使用指南
李博SEO 发表于7个月前
【Java】HBase_thrift/thrift2_使用指南
  • 发表于 7个月前
  • 阅读 6
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: Thrift server简介 Thrift server是HBase中的一种服务,主要用于对多语言API的支持。基于Apache Thrift(多语言支持的通信框架)开发,目前有两种版本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集群。

阅读原文请点击

共有 人打赏支持
粉丝 3
博文 95
码字总数 47489
×
李博SEO
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: