Google Cloud Bigtable HBase client for Java
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.
Note: Please use google-cloud-bigtable to access Bigtable APIs instead of bigtable-core-client
. These artifacts are meant to wrap HBase over Bigtable API.
Project setup, installation, and configuration
Prerequisites
Using the Java client
- Add the appropriate Cloud Bigtable artifact dependencies to your Maven project.
bigtable-hbase-1.x
: use for standalone applications where you are in control of your dependencies.bigtable-hbase-1.x-hadoop
: use in hadoop environments.bigtable-hbase-1.x-mapreduce
: use for map/reduce utilities.bigtable-hbase-1.x-shaded
: use in environments (other than hadoop) that require older versions of protobuf, guava, etc.bigtable-hbase-2.x
: use for standalone applications where you are in control of your dependencies. This includes an HBase async client.bigtable-hbase-2.x-hadoop
: use in hadoop environments.bigtable-hbase-2.x-shaded
: use in environments (other than hadoop) that require older versions of protobuf, guava, etc.
Maven:
<dependency>
<groupId>com.google.cloud.bigtable</groupId>
<artifactId>bigtable-hbase-1.x</artifactId>
<version>1.14.1</version>
</dependency>
Gradle:
compile 'com.google.cloud.bigtable:bigtable-hbase-1.x:1.14.1'
SBT:
libraryDependencies += "com.google.cloud.bigtable" % "bigtable-hbase-1.x" % "1.14.1"
- Refer to the Java samples documentation for detailed demonstrations of how to read and write data with Cloud Bigtable. The code for these samples is available in the Cloud Bigtable examples project.
Questions and discussions
If you have questions or run into issues with Google Cloud Bigtable or the client libraries, use any of the following forums:
- Stack Overflow: tag questions with
google-cloud-bigtable
- Mailing list: google-cloud-bigtable-discuss@
You can also subscribe to google-cloud-bigtable-announce@ list to receive infrequent product and client library announcements.
Clients and Repositories
Name | Language | Repository | latest version | status |
---|---|---|---|---|
Cloud Bigtable Examples | Java, others | GoogleCloudPlatform/cloud-bigtable-examples | ||
HBase client | Java | googleapis/cloud-bigtable-client | GA | |
Cloud Bigtable GoLang | Go | googleapis/google-cloud-go | N/A | GA |
Cloud Bigtable Java | Java | googleapis/java-bigtable | GA | |
Cloud Bigtable Python | Python | googleapis/google-cloud-python | Beta | |
Cloud Bigtable Node.js | Node | googleaps/nodejs-bigtable | GA | |
Cloud Bigtable C# | C# | googleapis/google-cloud-dotnet | GA | |
Cloud Bigtable C++ | C++ | googleapis/google-cloud-cpp | 0.9.0 | Beta |
Cloud Bigtable Ruby | Ruby | googleapis/google-cloud-ruby | Beta | |
Cloud Bigtable PHP | PHP | googleapis/google-cloud-php | Beta |
Contributing changes
See CONTRIBUTING.md for more information on how to contribute to this project.
License
Apache 2.0; see LICENSE for details.