GitHunt
PM

pmkc/cloud-bigtable-client

Java libraries and HBase client extensions for accessing Google Cloud Bigtable

Google Cloud Bigtable HBase client for Java

Travis CI status
Maven
Stack Overflow

Google Cloud Bigtable is Google's NoSQL
Big Data database service. It's the same database that powers many core Google
services, including Search, Analytics, Maps, and Gmail.

Bigtable is designed to handle massive workloads at consistent low latency and
high throughput, so it's a great choice for both operational and analytical
applications, including IoT, user analytics, and financial data analysis.

Bigtable provisions and scales to hundreds of petabytes automatically, and can
smoothly handle millions of operations per second. Changes to the deployment
configuration are immediate, so there is no downtime during reconfiguration.

Bigtable integrates easily with popular Big Data tools like
Hadoop, as well as Google Cloud Platform products like Cloud Dataflow and
Dataproc. Plus, Bigtable supports the open-source, industry-standard HBase API,
which makes it easy for development teams to get started.

Project setup, installation, and configuration

Prerequisites

Using the Java client

 <dependency>
     <groupId>com.google.cloud.bigtable</groupId>
     <artifactId>bigtable-hbase-1.2</artifactId>
     <version>0.9.4</version>
 </dependency>

 <dependency>
     <groupId>io.netty</groupId>
     <artifactId>netty-tcnative-boringssl-static</artifactId>
     <version>1.1.33.Fork19</version>
 </dependency>

Questions and discussions

If you have questions or run into issues with Google Cloud Bigtable or the
client libraries, you can use any of the following forums:

You can also subscribe to
google-cloud-bigtable-announce@ list to receive
infrequent product and client library announcements.

Developing and testing

  1. Running mvn clean install will build and install Cloud Bigtable client artifacts to your local repository, and then run the unit tests.

  2. There is also a suite of integration tests that connect to a cluster you have access to via the authentication credentials that were loaded via the Google Cloud SDK configuration step (see above).

    Use the following command to run the integration tests:

    mvn clean integration-test \
        -PbigtableIntegrationTest \
        -Dgoogle.bigtable.project.id=[your cloud project id] \
        -Dgoogle.bigtable.instance.id=[your cloud bigtable instance id]

NOTE: This project uses extensive shading which IDEs have trouble with. To over come these issues,
you can disable the with-shaded profile in your IDE to force it to resolve the dependencies from your local
maven repository. When you disable that profile, you have to attach workspace sources to local maven repository jars.

Contributing changes

See CONTRIBUTING.md for more information on how to contribute
to this project.

License

Apache 2.0; see LICENSE for details.