Apache HBase website screenshot

Apache HBase

Apache HBase is an open-source, distributed, versioned, non-relational database modeled after Google's Bigtable. It provides random, real-time read/write access to big data and runs on top of Apache Hadoop HDFS, offering a REST API (Stargate), Thrift API, and Java client API for table and cell-level operations.

2 APIs 8 Features
ApacheBig DataBigtableDatabaseHadoopNoSQLOpen SourceWide Column

APIs

Apache HBase REST API

REST API (Stargate) for Apache HBase distributed NoSQL database, providing table management, row and cell operations, and table scanning via HTTP with JSON or XML encoding.

Apache HBase Java Client API

Java client API for all HBase data operations including table administration, filters, coprocessors, batch operations, and async client for high-throughput workloads.

Collections

Pricing Plans

Rate Limits

Apache Hbase Rate Limits

5 limits

RATE LIMITS

FinOps

Features

Wide-Column NoSQL Storage

Store sparse, semi-structured data in a distributed wide-column table model inspired by Google Bigtable.

REST API (Stargate)

HTTP REST gateway for language-agnostic table and row operations using JSON or XML.

Thrift API

High-performance Thrift interface for cross-language HBase access with compact binary encoding.

Row-Level Consistency

Strong consistency guarantees for single-row get, put, and delete operations.

Coprocessors

Server-side coprocessor framework for custom observers and endpoints analogous to stored procedures.

HBase Shell

JRuby-based interactive shell for administrative and data manipulation operations.

Scanner API

Flexible server-side scan API with filters, time ranges, and column family projections.

Replication

Asynchronous multi-cluster replication for disaster recovery and geographic distribution.

Use Cases

Time-Series Data Storage

Store high-velocity time-series sensor or log data with row keys designed for time range scans.

Event Logging

Persist event streams from web applications or IoT devices for analytics and audit.

User Profile Storage

Store sparse user profile attributes at scale with efficient random access by user ID.

Graph Storage Backend

Use HBase as a backend storage engine for graph databases like Apache TinkerPop/JanusGraph.

Machine Learning Feature Store

Store and serve pre-computed ML features at low latency for online prediction.

Integrations

Apache Hadoop HDFS

HBase uses HDFS as its underlying distributed file system for WAL and HFile storage.

Apache Phoenix

SQL skin over HBase providing JDBC access, secondary indexes, and query optimization.

Apache Spark

Spark-HBase connector for reading and writing HBase tables as Spark DataFrames.

Apache Hive

HBase storage handler for using HBase tables as external Hive tables.

Apache Flink

Flink HBase connector for reading and writing HBase tables in streaming pipelines.

Semantic Vocabularies

Apache Hbase Rest Context

26 classes · 0 properties

JSON-LD

API Governance Rules

Apache HBase API Rules

9 rules · 3 errors 5 warnings 1 info

SPECTRAL

JSON Structure

Hbase Rest Cell Structure

3 properties

JSON STRUCTURE

Hbase Rest Cellset Structure

1 properties

JSON STRUCTURE

Hbase Rest Clusterversion Structure

5 properties

JSON STRUCTURE

Hbase Rest Columnfamily Structure

5 properties

JSON STRUCTURE

Hbase Rest Scanner Structure

4 properties

JSON STRUCTURE

Hbase Rest Tablelist Structure

1 properties

JSON STRUCTURE

Hbase Rest Tableregions Structure

2 properties

JSON STRUCTURE

Hbase Rest Tableschema Structure

2 properties

JSON STRUCTURE

Example Payloads

Hbase Rest Cell Example

3 fields

EXAMPLE

Hbase Rest Cellset Example

1 fields

EXAMPLE

Hbase Rest Scanner Example

4 fields

EXAMPLE

Hbase Rest Tablelist Example

1 fields

EXAMPLE

Resources

🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
👥
GitHubOrganization
GitHubOrganization
👥
GitHubRepository
GitHubRepository
🔗
SpectralRules
SpectralRules
🔗
Vocabulary
Vocabulary

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Apache HBase REST API
  version: 1.0.0
items:
- info:
    name: Tables
    type: folder
  items:
  - info:
      name: Apache HBase Get Cluster Version
      type: http
    http:
      method: GET
      url: http://localhost:8080/version/cluster
    docs: Get the version information of the HBase cluster.
  - info:
      name: Apache HBase List Tables
      type: http
    http:
      method: GET
      url: http://localhost:8080/
    docs: List all tables in the HBase cluster.
  - info:
      name: Apache HBase Get Table Schema
      type: http
    http:
      method: GET
      url: http://localhost:8080/:tableName/schema
      params:
      - name: tableName
        value: ''
        type: path
        description: HBase table name
    docs: Get the schema (column families) for an HBase table.
  - info:
      name: Apache HBase Create Or Update Table Schema
      type: http
    http:
      method: PUT
      url: http://localhost:8080/:tableName/schema
      params:
      - name: tableName
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Create or update an HBase table with the provided column family schema.
  - info:
      name: Apache HBase Delete Table
      type: http
    http:
      method: DELETE
      url: http://localhost:8080/:tableName/schema
      params:
      - name: tableName
        value: ''
        type: path
    docs: Delete an HBase table.
- info:
    name: Rows
    type: folder
  items:
  - info:
      name: Apache HBase Get Row
      type: http
    http:
      method: GET
      url: http://localhost:8080/:tableName/:rowKey
      params:
      - name: tableName
        value: ''
        type: path
      - name: rowKey
        value: ''
        type: path
        description: URL-encoded row key
    docs: Get all cells for a specific row key from an HBase table.
  - info:
      name: Apache HBase Put Row
      type: http
    http:
      method: PUT
      url: http://localhost:8080/:tableName/:rowKey
      params:
      - name: tableName
        value: ''
        type: path
      - name: rowKey
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Write one or more cells to a specific row key in an HBase table.
  - info:
      name: Apache HBase Delete Row
      type: http
    http:
      method: DELETE
      url: http://localhost:8080/:tableName/:rowKey
      params:
      - name: tableName
        value: ''
        type: path
      - name: rowKey
        value: ''
        type: path
    docs: Delete a row and all its cells from an HBase table.
  - info:
      name: Apache HBase Get Cell
      type: http
    http:
      method: GET
      url: http://localhost:8080/:tableName/:rowKey/:column
      params:
      - name: tableName
        value: ''
        type: path
      - name: rowKey
        value: ''
        type: path
      - name: column
        value: ''
        type: path
        description: Column in family:qualifier format (URL-encoded)
    docs: Get a specific cell value identified by table, row key, and column (family:qualifier).
- info:
    name: Scans
    type: folder
  items:
  - info:
      name: Apache HBase Create Scanner
      type: http
    http:
      method: PUT
      url: http://localhost:8080/:tableName/scanner
      params:
      - name: tableName
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Create a scanner to iterate over rows in an HBase table with optional filters.
  - info:
      name: Apache HBase Get Next Scanner Batch
      type: http
    http:
      method: GET
      url: http://localhost:8080/:tableName/scanner/:scannerId
      params:
      - name: tableName
        value: ''
        type: path
      - name: scannerId
        value: ''
        type: path
    docs: Get the next batch of rows from an open HBase scanner.
  - info:
      name: Apache HBase Delete Scanner
      type: http
    http:
      method: DELETE
      url: http://localhost:8080/:tableName/scanner/:scannerId
      params:
      - name: tableName
        value: ''
        type: path
      - name: scannerId
        value: ''
        type: path
    docs: Close and delete an open HBase scanner.
- info:
    name: Regions
    type: folder
  items:
  - info:
      name: Apache HBase Get Table Regions
      type: http
    http:
      method: GET
      url: http://localhost:8080/:tableName/regions
      params:
      - name: tableName
        value: ''
        type: path
    docs: Get region information for an HBase table including server assignments and key ranges.
bundled: true