日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

多語言API訪問

HBase增強版通過Thrift支持多語言訪問。

前提條件

已獲取集群連接地址查看集群連接地址

背景信息

  • Thrift1接口不支持權限認證,且單個Core節點支持的連接數為1000,請注意連接數。

  • Thrift2只支持HTTPClient訪問,并且需要添加用戶名和密碼。

  • Thrift的使用可以參考Apache Thrift的官方文檔

操作步驟

  1. 下載Thrift安裝包

    說明

    一些語言提供了管理依賴的方法,可以遵循這些語言的使用習慣來安裝thrift,如Python語言可以通過pip install thrift來安裝,Go語言可以直接在代碼里import {"github.com/apache/thrift/lib/go/thrift"}

  2. 下載HBase Thrift2定義文件

  3. 生成對應語言的接口定義文件。

    1. 解壓步驟1已下載的thrift-0.12.0.tar.gz包,請參考thrift安裝指導

    2. 使用命令行進入已解壓的thrift-0.12.0文件中執行如下命令生成接口定義文件。

       thrift --gen <language> Hbase.thrift

      例如:

      thrift --gen php Hbase.thrift 
      thrift --gen cpp Hbase.thrift 
      thrift --gen py Hbase.thrift
  4. 構造客戶端訪問HBase增強版。

    說明
    • HBase增強版Thrift服務器端的transport層使用的是HTTP,因此在構造客戶端時,需要thrift中的ThttpClient,并且在ACL開啟的情況下,需要在ThttpClient上添加兩個header來向服務器傳輸用戶名和密碼進行認證。

    • Thrift在每個語言實現的ThttpClient都有加定制header的函數。

    以Python語言為例,用以下方法構造客戶端和設置連接串/用戶名密碼。

    # -*- coding: utf-8  -*-
    # 以下兩個模塊可以通過 pip install thrift 安裝獲得
    from thrift.protocol import TBinaryProtocol
    from thrift.transport import THttpClient
    
    # 下面的模塊通過 thrift --gen py hbase.thrift 來生成
    from hbase import THBaseService
    from hbase.ttypes import TColumnValue, TColumn, TTableName, TTableDescriptor, TColumnFamilyDescriptor, TNamespaceDescriptor, TGet, TPut, TScan
    
    # 連接地址
    url = "http://host:9190"
    transport = THttpClient.THttpClient(url)
    headers = {}
    # 用戶名
    headers["ACCESSKEYID"]="testuser";
    # 密碼
    headers["ACCESSSIGNATURE"]="password"
    transport.setCustomHeaders(headers)
    protocol = TBinaryProtocol.TBinaryProtocolAccelerated(transport)
    client = THBaseService.Client(protocol)
    transport.open()
    # 具體操作,最后close連接
    transport.close()

相關資源

所有的Demo的完整的代碼都已上傳至GitHub,包括該語言thrift定義文件,以及所依賴的library(某些語言適用)。您可以直接下載Github上相應語言的代碼構造客戶端訪問HBase增強版。

更多語言請參見Thrift官方文檔