python操作hbase:繞不開的Thrift?
很多Python教程都采用Python -> Thrift -> HBase的模式操作HBase,這讓人不禁疑問:為什么非要Thrift做中間層?Python可以直接連接HBase嗎?如果可以,有什么缺點?Java、Go、Node.JS等其他語言操作HBase也需要Thrift嗎?本文將一一解答。
HBase原生客戶端基于Java開發。這意味著,Python、php、c++等非Java語言無法直接使用HBase原生API。為了讓這些語言也能訪問HBase,apache HBase提供了Thrift服務,這是一個跨語言的遠程過程調用(rpc)框架。Thrift將HBase接口轉換成多種語言可調用的形式,Python通過Thrift客戶端庫與Thrift服務通信,再由Thrift服務與HBase交互。
所以,Python無法直接連接HBase。直接連接意味著需要從頭開發一套完整的HBase客戶端,這工作量巨大,而且需要持續維護與HBase版本的兼容性。而使用Thrift,則能充分利用HBase官方提供的Thrift服務,降低開發成本,并保證兼容性。
Java操作HBase通常不需要Thrift。因為Java是HBase原生支持的語言,可以直接使用HBase的java api,效率更高,也更便捷。
立即學習“Python免費學習筆記(深入)”;
Go、Node.js等其他語言與Python類似,通常也需要通過Thrift訪問HBase,因為HBase沒有為這些語言提供原生客戶端庫。它們都需要借助Thrift這個跨語言RPC框架來與HBase通信。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦