All Products
Search
Document Center

ApsaraDB for HBase:Akses API multi-bahasa

Last Updated:Mar 29, 2026

Gunakan Thrift untuk menghubungkan kluster ApsaraDB for HBase Performance-enhanced Edition dari Python, Go, C++, Node.js, atau PHP.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

Cara kerja

ApsaraDB for HBase Performance-enhanced Edition menggunakan HTTP pada lapisan transport Thrift. Semua klien harus menggunakan THttpClient—bukan transport socket standar—untuk terhubung. Untuk Thrift 2, Anda harus menentukan nama pengguna dan kata sandi sebagai header HTTP kustom dalam instans THttpClient.

Thrift 1 vs. Thrift 2

FiturThrift 1Thrift 2
AutentikasiTidak didukungWajib (username + password)
Koneksi maksimum per node inti1.000
TransportTHttpClientTHttpClient (HTTP saja)

Gunakan Thrift 2 untuk integrasi baru. Thrift 1 tidak mendukung autentikasi dan tidak cocok untuk kluster yang mengaktifkan ACL.

Siapkan Thrift

Instal kompilator Thrift

Sebagian besar bahasa dapat menginstal library Thrift langsung melalui manajer paketnya. Unduh kompilator hanya jika Anda perlu membuat ulang file definisi antarmuka dari Hbase.thrift.

Manajer paket (disarankan):

BahasaPerintah
Pythonpip install thrift
Goimport "github.com/apache/thrift/lib/go/thrift" dalam modul Go Anda

Instalasi kompilator manual: Unduh thrift-0.12.0.tar.gz dan ikuti panduan instalasi Thrift.

Buat file definisi antarmuka

  1. Unduh file definisi Thrift 2 untuk ApsaraDB for HBase.

  2. Ekstrak paket kompilator Thrift dan jalankan perintah berikut dari direktori hasil ekstraksi untuk menghasilkan binding spesifik bahasa:

    thrift --gen <language> Hbase.thrift

    Contoh:

    thrift --gen py Hbase.thrift
    thrift --gen cpp Hbase.thrift
    thrift --gen php Hbase.thrift

Inisialisasi client

Contoh berikut menggunakan Python. Terapkan pola yang sama untuk bahasa lain: buat THttpClient, tambahkan header autentikasi, bungkus dengan TBinaryProtocol, lalu berikan protokol tersebut ke THBaseService.Client.

# -*- coding: utf-8 -*-
# Instal library Thrift: pip install thrift
from thrift.protocol import TBinaryProtocol
from thrift.transport import THttpClient

# Dihasilkan oleh: thrift --gen py Hbase.thrift
from hbase import THBaseService
from hbase.ttypes import (
    TColumnValue, TColumn, TTableName, TTableDescriptor,
    TColumnFamilyDescriptor, TNamespaceDescriptor,
    TGet, TPut, TScan
)

# Ganti <host> dengan titik akhir kluster Anda.
url = "http://<host>:9190"

# THttpClient wajib digunakan — server Thrift HBase menggunakan transport HTTP,
# bukan transport socket standar.
transport = THttpClient.THttpClient(url)

# Berikan kredensial sebagai header HTTP kustom. Thrift 2 memerlukan username dan password.
headers = {
    "ACCESSKEYID": "<your-username>",       # Username kluster
    "ACCESSSIGNATURE": "<your-password>",   # Password kluster
}
transport.setCustomHeaders(headers)

# TBinaryProtocolAccelerated menggunakan ekstensi C untuk serialisasi lebih cepat
# jika tersedia, dan mundur ke implementasi murni Python jika tidak.
protocol = TBinaryProtocol.TBinaryProtocolAccelerated(transport)

# Buat client HBase menggunakan protokol yang telah dikonfigurasi.
client = THBaseService.Client(protocol)

# Buka koneksi sebelum melakukan panggilan apa pun.
transport.open()

# Operasi HBase Anda ditempatkan di sini.

# Tutup transport saat selesai untuk melepaskan koneksi.
transport.close()

Placeholders:

PlaceholderDeskripsi
<host>Titik akhir kluster Anda (tanpa awalan http://)
<your-username>Username kluster
<your-password>Password kluster
Catatan

Thrift 1 tidak mendukung autentikasi. Gunakan Thrift 2 (seperti pada contoh di atas) ketika kluster Anda memerlukan kredensial.

Kode contoh

Contoh klien lengkap yang dapat dijalankan untuk setiap bahasa tersedia di GitHub. Setiap repositori mencakup file definisi Thrift dan semua dependensi khusus bahasa.

BahasaTautan
PythonUnduh kode contoh
GoUnduh kode contoh
C++Unduh kode contoh
Node.jsUnduh kode contoh
PHPUnduh kode contoh

Langkah selanjutnya