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