Membuat objek koneksi
Agar terhubung ke Bigtable menggunakan klien HBase Cloud Bigtable untuk Java, Anda harus menyetel properti konfigurasi, lalu membuat objek Connection
. Membuat objek Connection
adalah
operasi yang berat, jadi buat objek berikut sesedikit mungkin:
- Jika Anda menggunakan replikasi, atau jika menggunakan profil
aplikasi untuk mengidentifikasi berbagai jenis traffic ke instance,
buat satu objek
Connection
per profil aplikasi dan bagikan objek tersebut di antara thread dalam aplikasi Anda. - Jika Anda tidak menggunakan replikasi atau profil aplikasi, buat satu objek
Connection
dan bagikan di antara thread di aplikasi Anda.
Ada beberapa cara untuk menentukan setelan konfigurasi untuk objek
Connection
:
Sertakan setelan dalam kode Anda. Jika aplikasi Anda menggunakan beberapa profil aplikasi (misalnya, jika aplikasi menjalankan beberapa fungsi yang berbeda, dengan profil aplikasi terpisah untuk setiap fungsi), Anda harus menggunakan opsi ini.
Anda juga dapat menggunakan opsi ini jika lebih suka menyimpan setelan konfigurasi dalam kode aplikasi, atau jika tidak praktis untuk menyertakan file konfigurasi eksternal sebagai resource dalam aplikasi Anda.
Gunakan file
hbase-site.xml
untuk menyimpan setelan. Gunakan opsi ini jika aplikasi Anda menggunakan HBase dan Bigtable, atau jika Anda lebih suka untuk menyimpan setelan konfigurasi Bigtable dalam file mandiri.
Bagian berikut menjelaskan setiap cara untuk mengonfigurasi dan membuat objek
Connection
.
Menyertakan setelan dalam kode Anda
Contoh berikut menunjukkan cara membuat objek Connection
di
aplikasi Anda sendiri. Ganti [VALUES_IN_BRACKETS]
dengan nilai yang benar untuk instance Anda:
package com.example.helloworld;
import com.google.cloud.bigtable.hbase.BigtableConfiguration;
import com.google.cloud.bigtable.hbase.BigtableOptionsFactory;
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.client.Connection;
public class BigtableHelper {
private static final String PROJECT_ID = "[YOUR_PROJECT_ID]";
private static final String INSTANCE_ID = "[YOUR_INSTANCE_ID]";
// Include the following line if you are using app profiles.
// If you do not include the following line, the connection uses the
// default app profile.
private static final STRING APP_PROFILE_ID = "[YOUR_APP_PROFILE_ID]";
private static Connection connection = null;
public static void connect() throws IOException {
Configuration config = BigtableConfiguration.configure(PROJECT_ID, INSTANCE_ID);
// Include the following line if you are using app profiles.
// If you do not include the following line, the connection uses the
// default app profile.
config.set(BigtableOptionsFactory.APP_PROFILE_ID_KEY, APP_PROFILE_ID);
connection = BigtableConfiguration.connect(config);
}
}
Menggunakan file hbase-site.xml
Bagian ini menjelaskan cara membuat objek Connection
dengan menyertakan
setelan konfigurasi dalam file hbase-site.xml
.
Kode contoh
Contoh berikut menunjukkan cara mengonfigurasi dan membuat objek Connection
dalam aplikasi Anda sendiri:
package com.example.helloworld;
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
public class BigtableHelper {
private static Connection connection = null;
public static void connect() throws IOException {
Configuration config = HBaseConfiguration.create();
connection = ConnectionFactory.createConnection(config);
}
}
File hbase-site.xml
terpisah disertakan dalam resource file JAR. Saat Anda membuat objek Configuration
, klien HBase Cloud Bigtable untuk Java akan otomatis membaca setelan dari file hbase-site.xml
.
Bagian berikut menjelaskan cara mengimplementasikan metode ini di aplikasi Anda.
Membuat file hbase-site.xml
Dalam direktori src/main/resources
project Anda, buat file bernama hbase-site.xml
. File tersebut harus berisi semua properti yang ditunjukkan dalam
contoh berikut. Ganti [VALUES_IN_BRACKETS]
dengan nilai yang benar untuk instance Anda:
<configuration>
<property>
<name>hbase.client.connection.impl</name>
<value>com.google.cloud.bigtable.hbase1_x.BigtableConnection</value>
</property>
<property>
<name>google.bigtable.project.id</name>
<value>[YOUR_PROJECT_ID]</value>
</property>
<property>
<name>google.bigtable.instance.id</name>
<value>[YOUR_INSTANCE_ID]</value>
</property>
<!--
Include the following property if you are using app profiles.
If you do not include the following property, the connection uses the
default app profile.
-->
<property>
<name>google.bigtable.app_profile.id</name>
<value>[YOUR_APP_PROFILE_ID]</value>
</property>
</configuration>
Menambahkan hbase-site.xml ke file JAR
Setelah membuat file hbase-site.xml
, Anda harus mengupdate skrip
build untuk menyertakan direktori src/main/resources
dalam file JAR project Anda.
Jika Anda menggunakan Maven, edit elemen <build>
dari file pom.xml
Anda untuk
menyalin resource ke file JAR:
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
Membuat objek Connection
Sekarang Anda dapat memperbarui kode untuk membuat objek Configuration
. Saat Anda membuat objek ini, klien HBase Cloud Bigtable untuk Java secara otomatis membaca setelan dari file hbase-site.xml
. Anda kemudian dapat menggunakan setelan ini untuk membuat objek Connection
:
Configuration config = HBaseConfiguration.create();
connection = ConnectionFactory.createConnection(config);
Langkah selanjutnya
- Pelajari lebih lanjut klien HBase untuk Java.
- Lihat contoh "hello world".
- Cari tahu cara menggunakan library klien.