
Python连接HBase:Thrift为何不可或缺?
许多Python HBase教程都采用Python -> Thrift -> HBase的架构。这不禁让人疑问:Thrift作为中间层,究竟有何必要?Python难道无法直接连接HBase吗?
答案是:HBase主要提供Java API。这意味着Python、PHP、C++等非Java语言无法直接调用HBase的原生接口。Thrift,作为一款跨语言服务框架,完美解决了这个问题。它构建了一个桥梁,让不同语言的客户端(包括Python)都能通过统一接口与HBase服务交互。 Thrift将HBase的Java接口转换成多种语言的客户端接口,从而实现间接访问。
因此,Python直接连接HBase并非不可行,但需要自行开发一套完整的HBase客户端库,这将大幅增加开发难度和复杂性。而使用Thrift,则可直接利用现成的Thrift客户端库,避免重复造轮子,显著提高开发效率。
采用HttpClient向服务器端action请求数据,当然调用服务器端方法获取数据并不止这一种。WebService也可以为我们提供所需数据,那么什么是webService呢?,它是一种基于SAOP协议的远程调用标准,通过webservice可以将不同操作系统平台,不同语言,不同技术整合到一起。 实现Android与服务器端数据交互,我们在PC机器java客户端中,需要一些库,比如XFire,Axis2,CXF等等来支持访问WebService,但是这些库并不适合我们资源有限的android手机客户端,
立即学习“Python免费学习笔记(深入)”;
Java可以直接使用HBase提供的Java API,因此通常无需Thrift。
类似地,Golang、Node.js等其他语言操作HBase,也通常依赖Thrift或其他跨语言RPC框架,因为HBase本身并不原生支持这些语言。它们都需要一个中间层来完成与HBase服务的通信。









