# Bigtable and the HBase API

One way to communicate with Bigtable is through the
Cloud Bigtable HBase client for Java, which is a customized version of
the [Apache HBase](https://hbase.apache.org/) client. The Cloud Bigtable HBase client for
Java enables you to write Java applications that communicate with
Bigtable through the open-source [HBase API](https://hbase.apache.org/apidocs/). The
client is compatible with HBase API versions 1.x and 2.x.


The Cloud Bigtable HBase client for Java is for customers who are migrating
to Bigtable from HBase and want to continue using the HBase API. In all other cases,
Java developers should instead use the
[Cloud Bigtable client
for Java](https://docs.cloud.google.com/java/docs/reference/google-cloud-bigtable/latest/overview), which calls the Bigtable APIs.

To learn how to add the HBase client for Java to your application, see [Client
Libraries](https://docs.cloud.google.com/bigtable/docs/reference/libraries).

Source code for the client is available in the GitHub repository
[googleapis/java-bigtable-hbase](https://github.com/googleapis/java-bigtable-hbase). Sample code that uses
the client is available in the following GitHub repositories:

- [GoogleCloudPlatform/java-docs-samples](https://github.com/GoogleCloudPlatform/java-docs-samples)
- [googleapis/java-bigtable-hbase](https://github.com/googleapis/java-bigtable-hbase)

When you use the Cloud Bigtable HBase client for Java, you don't need to
run the HBase server. You are simply using a modified version of the HBase
client interface. Google runs and maintains the servers for the
Bigtable service.

Because HBase and Bigtable are not identical, there are minor
differences between the standard HBase API and the HBase API for
Cloud Bigtable. See [Differences between the HBase and
Bigtable APIs](https://docs.cloud.google.com/bigtable/docs/hbase-differences) for details.

The Cloud Bigtable HBase client for Java works with Hadoop 2.4 and
later. It requires a Java 8 runtime environment.

## What's next

- View a ["hello world" example](https://docs.cloud.google.com/bigtable/docs/samples-java-hello) for the HBase client for Java.
- Learn how to [connect to Bigtable](https://docs.cloud.google.com/bigtable/docs/hbase-connecting).
- Find out how to [add the client library to your application](https://docs.cloud.google.com/bigtable/docs/reference/libraries).