Quickstart using HBase shell

This page explains how to use the HBase shell to connect to a Cloud Bigtable instance, perform basic administrative tasks, and read and write data in a table.

If you do not want to use the HBase shell, follow the quickstart using the cbt tool instead.

This quickstart uses Cloud Shell in the Google Cloud Console to run the HBase shell. For improved performance, you can install the HBase shell on your own machine instead.

Before you begin

  1. In the Google Cloud Console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  2. Make sure that billing is enabled for your Cloud project. Learn how to confirm that billing is enabled for your project.

  3. Enable the Cloud Bigtable and Cloud Bigtable Admin APIs.

    Enable the APIs

Create a Bigtable instance

  1. Open the Create Instance page in the Google Cloud Console.

    Open the Create Instance page

    Screenshot of the "Create instance" page

  2. For Instance name, enter Quickstart instance.

  3. For Instance ID, enter quickstart-instance.

  4. For Storage type, select SSD.

  5. For Cluster ID, enter quickstart-instance-c1.

  6. For Region, select us-east1.

  7. For Zone, select us-east1-c.

  8. Click Create to create the instance.

Connect to your instance

  1. Open a terminal window in Cloud Shell.

    Open in Cloud Shell

  2. To use the HBase shell with the Cloud Bigtable HBase client for Java, you must install a Java 8 runtime environment. Other versions of Java are not supported. Install and set up the Java 8 environment by running the following commands:

    sudo apt-get update
    sudo apt-get install openjdk-8-jdk-headless
    export JAVA_HOME=$(update-alternatives --list java | tail -1 | sed -E 's/\/bin\/java//')
  3. Clone the repository that contains the HBase shell files, then change to the directory for the HBase shell:

    git clone https://github.com/GoogleCloudPlatform/cloud-bigtable-examples.git
    cd cloud-bigtable-examples/quickstart
  4. Start the HBase shell:


Now you're connected!

Read and write data

Bigtable stores data in tables, which contain rows. Each row is identified by a row key.

Data in a row is organized into column families, which are groups of columns. A column qualifier identifies a single column within a column family.

There can be multiple time-stamped versions of the value at the intersection of a row and column. Each version is referred to as a cell.

  1. Create a table named my-table, with one column family named cf1:

    create 'my-table', 'cf1'

    The shell displays output similar to the following:

    0 row(s) in 1.5210 seconds
    => Hbase::Table - my-table
  2. List your tables:


    The shell displays output similar to the following:

    1 row(s) in 1.3580 seconds
    => ["my-table"]
  3. Put the value test-value in the row r1, using the column family cf1 and the column qualifier c1:

    put 'my-table', 'r1', 'cf1:c1', 'test-value'
  4. Use the scan command to scan the table and read the data you added:

    scan 'my-table'

    The shell displays output similar to the following:

     r1      column=cf1:c1, timestamp=1430687836046, value=test-value
    1 row(s) in 0.6260 seconds
  5. Delete the table my-table:

    disable 'my-table'
    drop 'my-table'
  6. Type exit and press Enter to exit the HBase shell. You will see a series of log messages after you exit, which is normal.

Clean up

To avoid incurring charges to your Google Cloud account for the resources used in this page, follow these steps.

  1. Open the list of Bigtable instances in the Cloud Console.

    Open the instance list

  2. Click Quickstart instance.
  3. Click Delete instance.

    Screenshot of the
    'Delete instance' pane

  4. Type quickstart-instance, then click Delete to delete the instance.

What's next