Membuat objek koneksi

Untuk terhubung ke Bigtable menggunakan klien HBase Cloud Bigtable untuk Java, Anda harus menetapkan properti konfigurasi, lalu membuat objek Connection. Membuat objek Connection adalah operasi berat, jadi buat objek ini sesedikit mungkin:

  • Jika Anda menggunakan replikasi, atau jika Anda menggunakan profil aplikasi untuk mengidentifikasi berbagai jenis traffic ke instance, buat satu objek Connection per profil aplikasi dan bagikan objek di antara thread dalam aplikasi Anda.
  • Jika Anda tidak menggunakan replikasi atau profil aplikasi, buat satu objek Connection dan bagikan di antara thread dalam 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 tersebut menjalankan beberapa fungsi yang berbeda, dengan profil aplikasi terpisah untuk setiap fungsi), Anda harus menggunakan opsi ini.

    Anda juga dapat menggunakan opsi ini jika memilih untuk 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 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 di 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 menerapkan metode ini di aplikasi Anda.

Membuat file hbase-site.xml

Di direktori src/main/resources project Anda, buat file bernama hbase-site.xml. File harus berisi semua properti yang ditampilkan 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 untuk menyalin resource ke file JAR:

<build>
  <resources>
    <resource>
      <directory>src/main/resources</directory>
      <filtering>true</filtering>
    </resource>
  </resources>
</build>

Membuat objek Koneksi

Sekarang Anda dapat memperbarui kode untuk membuat objek Configuration. Saat Anda membuat objek ini, klien HBase Cloud Bigtable untuk Java akan otomatis membaca setelan dari file hbase-site.xml. Kemudian, Anda dapat menggunakan setelan ini untuk membuat objek Connection:

Configuration config = HBaseConfiguration.create();
connection = ConnectionFactory.createConnection(config);

Langkah selanjutnya