{"id":29571828,"url":"https://github.com/oceanbase/obkv-hbase-client-java","last_synced_at":"2026-03-13T06:31:46.744Z","repository":{"id":39285570,"uuid":"447061917","full_name":"oceanbase/obkv-hbase-client-java","owner":"oceanbase","description":"OBKV HBase Client is a Java library that enables access to OceanBase data by the HBase 0.94, 1.x, or 2.x APIs.","archived":false,"fork":false,"pushed_at":"2026-03-02T08:24:26.000Z","size":2858,"stargazers_count":20,"open_issues_count":36,"forks_count":20,"subscribers_count":8,"default_branch":"master","last_synced_at":"2026-03-02T11:54:00.439Z","etag":null,"topics":["hbase-client","key-value-database","obkv","oceanbase"],"latest_commit_sha":null,"homepage":"https://en.oceanbase.com","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oceanbase.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-01-12T03:20:48.000Z","updated_at":"2026-03-02T08:06:36.000Z","dependencies_parsed_at":"2025-11-18T09:01:54.140Z","dependency_job_id":null,"html_url":"https://github.com/oceanbase/obkv-hbase-client-java","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/oceanbase/obkv-hbase-client-java","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oceanbase%2Fobkv-hbase-client-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oceanbase%2Fobkv-hbase-client-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oceanbase%2Fobkv-hbase-client-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oceanbase%2Fobkv-hbase-client-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oceanbase","download_url":"https://codeload.github.com/oceanbase/obkv-hbase-client-java/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oceanbase%2Fobkv-hbase-client-java/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30460583,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-13T03:55:51.346Z","status":"ssl_error","status_checked_at":"2026-03-13T03:55:33.055Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hbase-client","key-value-database","obkv","oceanbase"],"created_at":"2025-07-19T04:36:16.238Z","updated_at":"2026-03-13T06:31:46.728Z","avatar_url":"https://github.com/oceanbase.png","language":"Java","readme":"# OBKV HBase Client\nOBKV HBase Client is Java Library that can be used to access data from [OceanBase](https://github.com/oceanbase/oceanbase) by [HBase-1.x API](https://javadoc.io/doc/org.apache.hbase/hbase-client/1.3.6/index.html) or [Hbase-2.x API](https://javadoc.io/doc/org.apache.hbase/hbase-client/2.1.10/index.html).\n\n## Quick start\n\nCreate table in the OceanBase database:\n\n``` sql\nCREATE TABLEGROUP test1;\nCREATE TABLE `test1$family1` (\n    `K` varbinary(1024) NOT NULL,\n    `Q` varbinary(256) NOT NULL,\n    `T` bigint(20) NOT NULL,\n    `V` varbinary(1024) DEFAULT NULL,\n    PRIMARY KEY (`K`, `Q`, `T`))\nTABLEGROUP =  test1;\n```\n**Note:**\n* test1: HBase table name;\n* family1: HBase column family name.\n\nImport the dependency for your maven project:\n``` xml\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.oceanbase\u003c/groupId\u003e\n    \u003cartifactId\u003eobkv-hbase-client\u003c/artifactId\u003e\n    \u003cversion\u003e1.3.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n**Note:**\n* This example version is not kept up-to-date. So check the [releases](https://github.com/oceanbase/obkv-hbase-client-java/releases) page for the latest version frequently.\n\nThe code demo:\n``` java\nimport org.apache.hadoop.hbase.HBaseConfiguration;\nimport org.apache.hadoop.hbase.TableName;\nimport org.apache.hadoop.hbase.client.*;\n\nimport static org.apache.hadoop.hbase.util.Bytes.toBytes;\n\npublic class SimpleHBaseClientDemo {\n    public static void simpleTest() throws Exception {\n        // 1. initial connection for table test1\n        HBaseConfiguration conf = new HBaseConfiguration();\n        Connection connection = ConnectionFactory.createConnection(conf);\n        TableName tableName = TableName.valueOf(\"test1\");\n        Table hTable = connection.getTable(tableName);\n\n        // 2. put data like hbase\n        byte[] family = toBytes(\"family1\");\n        byte[] rowKey = toBytes(\"rowKey1\");\n        byte[] column = toBytes(\"column1\");\n        Put put = new Put(rowKey);\n        put.add(family, column, System.currentTimeMillis(), toBytes(\"value1\"));\n        hTable.put(put);\n\n        // 3. get data like hbase\n        Get get = new Get(rowKey);\n        get.addColumn(family, column);\n        Result r = hTable.get(get);\n        System.out.println(\"column1: \" + r.getColumn(family, column));\n\n        // 4. close\n        hTable.close();\n        connection.close();\n    }\n\n    public static void main(String[] args) throws Exception {\n        simpleTest();\n    }\n}\n```\n\nThe Hbase Configuration in hbase-site.xml for direct-connect mode:\n```xml\n\u003cconfiguration\u003e\n    \u003cproperty\u003e\n        \u003cname\u003ehbase.client.connection.impl\u003c/name\u003e\n        \u003cvalue\u003ecom.alipay.oceanbase.hbase.util.OHConnectionImpl\u003c/value\u003e\n    \u003c/property\u003e\n    \u003cproperty\u003e\n        \u003cname\u003ehbase.oceanbase.fullUserName\u003c/name\u003e\n        \u003cvalue\u003e\u003c/value\u003e\n    \u003c/property\u003e\n    \u003cproperty\u003e\n        \u003cname\u003ehbase.oceanbase.password\u003c/name\u003e\n        \u003cvalue\u003e\u003c/value\u003e\n    \u003c/property\u003e\n    \u003cproperty\u003e\n        \u003cname\u003ehbase.oceanbase.paramURL\u003c/name\u003e\n        \u003cvalue\u003e\u003c/value\u003e\n    \u003c/property\u003e\n    \u003cproperty\u003e\n        \u003cname\u003ehbase.oceanbase.sysUserName\u003c/name\u003e\n        \u003cvalue\u003e\u003c/value\u003e\n    \u003c/property\u003e\n    \u003cproperty\u003e\n        \u003cname\u003ehbase.oceanbase.sysPassword\u003c/name\u003e\n        \u003cvalue\u003e\u003c/value\u003e\n    \u003c/property\u003e\n\u003c/configuration\u003e\n```\n\nThe Hbase Configuration in hbase-site.xml for ODP mode:\n```xml\n\u003cconfiguration\u003e\n    \u003cproperty\u003e\n        \u003cname\u003ehbase.client.connection.impl\u003c/name\u003e\n        \u003cvalue\u003ecom.alipay.oceanbase.hbase.util.OHConnectionImpl\u003c/value\u003e\n    \u003c/property\u003e\n    \u003cproperty\u003e\n        \u003cname\u003ehbase.oceanbase.odpMode\u003c/name\u003e\n        \u003cvalue\u003etrue\u003c/value\u003e\n    \u003c/property\u003e\n    \u003cproperty\u003e\n        \u003cname\u003ehbase.oceanbase.fullUserName\u003c/name\u003e\n        \u003cvalue\u003e\u003c/value\u003e\n    \u003c/property\u003e\n    \u003cproperty\u003e\n        \u003cname\u003ehbase.oceanbase.password\u003c/name\u003e\n        \u003cvalue\u003e\u003c/value\u003e\n    \u003c/property\u003e\n    \u003cproperty\u003e\n        \u003cname\u003ehbase.oceanbase.odpAddr\u003c/name\u003e\n        \u003cvalue\u003e\u003c/value\u003e\n    \u003c/property\u003e\n    \u003cproperty\u003e\n        \u003cname\u003ehbase.oceanbase.odpPort\u003c/name\u003e\n        \u003cvalue\u003e3307\u003c/value\u003e\n    \u003c/property\u003e\n    \u003cproperty\u003e\n        \u003cname\u003ehbase.oceanbase.database\u003c/name\u003e\n        \u003cvalue\u003e\u003c/value\u003e\n    \u003c/property\u003e\n\u003c/configuration\u003e\n```\n\n**NOTE:**\n* `hbase.client.connection.impl`: the implementation of hbase connenction, which must be set to `com.alipay.oceanbase.hbase.util.OHConnectionImpl` \n* `hbase.oceanbase.odpMode`: true indicate is in ODP mode, false(in default) indicate is in direct-connect mode\n* `hbase.oceanbase.fullUserName`: the user for accessing obkv, which format is user_name@tenant_name#cluster_name \n* `hbase.oceanbase.password`: the password associated with the specified user\n* `hbase.oceanbase.paramURL`: which is generated by [ConfigServer](https://ask.oceanbase.com/t/topic/35601923)\n* `hbase.oceanbase.sysUserName`: root@sys or proxy@sys, which have privileges to access routing system view\n* `hbase.oceanbase.sysPassword`:  the password associated with the specified sys user\n* `hbase.oceanbase.odpAddr`: the ODP's IP address\n* `hbase.oceanbase.odpPort`: the ODP's OBKV port\n* `hbase.oceanbase.database`: the target database to operate on\n \n## Documentation\n- English [Coming soon]\n- [Simplified Chinese (简体中文)](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002022354)\n\n## Licencing\n\nOBKV HBase Client is under [MulanPSL - 2.0](http://license.coscl.org.cn/MulanPSL2) licence. You can freely copy and use the source code. When you modify or distribute the source code, please obey the MulanPSL - 2.0 licence.\n\n## Contributing\n\nContributions are warmly welcomed and greatly appreciated. Here are a few ways you can contribute:\n\n- Raise us an [Issue](https://github.com/oceanbase/obkv-hbase-client-java/issues)\n- Submit Pull Requests. For details, see [How to contribute](CONTRIBUTING.md).\n\n## Support\n\nIn case you have any problems when using OceanBase Database, welcome reach out for help:\n\n- GitHub Issue [GitHub Issue](https://github.com/oceanbase/obkv-hbase-client-java/issues)\n- Official forum [Official website](https://open.oceanbase.com)\n- Knowledge base [Coming soon]\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foceanbase%2Fobkv-hbase-client-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foceanbase%2Fobkv-hbase-client-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foceanbase%2Fobkv-hbase-client-java/lists"}