The examples below illustrate the set of basic operations with HBase instance using Stargate REST API.
Use following link to get more more details about HBase/Stargate API: http://wiki.apache.org/hadoop/Hbase/Stargate.
Get software version
Set Accept Header to "text/plain", "text/xml", "application/json" or "application/x-protobuf"
% curl -i -k -u hbase:hbase-password\ -H "Accept: application/json"\ -X GET 'https://localhost:8443/gateway/sample/hbase/api/version'
Get version information regarding the HBase cluster backing the Stargate instance
Set Accept Header to "text/plain", "text/xml", "application/json" or "application/x-protobuf"
% curl -i -k -u hbase:hbase-password\ -H "Accept: text/xml"\ -X GET 'https://localhost:8443/gateway/sample/hbase/api/version/cluster'
Get detailed status on the HBase cluster backing the Stargate instance.
Set Accept Header to "text/plain", "text/xml", "application/json" or "application/x-protobuf"
% curl -i -k -u hbase:hbase-password\ -H "Accept: text/xml"\ -X GET 'https://localhost:8443/gateway/sample/hbase/api/status/cluster'
Get the list of available tables.
Set Accept Header to "text/plain", "text/xml", "application/json" or "application/x-protobuf"
% curl -i -k -u hbase:hbase-password\ -H "Accept: text/xml"\ -X GET 'https://localhost:8443/gateway/sample/hbase/api'
Create table with two column families using xml input
% curl -i -k -u hbase:hbase-password\ -H "Accept: text/xml" -H "Content-Type: text/xml"\ -d '<?xml version="1.0" encoding="UTF-8"?><TableSchema name="table1"><ColumnSchema name="family1"/><ColumnSchema name="family2"/></TableSchema>'\ -X PUT 'https://localhost:8443/gateway/sample/hbase/api/table1/schema'
Create table "table2" with column families "family3" and "family4" using JSON input
% curl -i -k -u hbase:hbase-password\ -H "Accept: application/json" -H "Content-Type: application/json"\ -d '{"name":"table2","ColumnSchema":[{"name":"family3"},{"name":"family4"}]}'\ -X PUT 'https://localhost:8443/gateway/sample/hbase/api/table2/schema'
Get table metadata
% curl -i -k -u hbase:hbase-password\ -H "Accept: text/xml"\ -X GET 'https://localhost:8443/gateway/sample/hbase/api/table1/regions'
Insert single row table
% curl -i -k -u hbase:hbase-password\ -H "Content-Type: text/xml"\ -H "Accept: text/xml"\ -d '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><CellSet><Row key="cm93MQ=="><Cell column="ZmFtaWx5MTpjb2wx" >dGVzdA==</Cell></Row></CellSet>'\ -X POST 'https://localhost:8443/gateway/sample/hbase/api/table1/row1'
Insert multiple rows into table
% curl -i -k -u hbase:hbase-password\ -H "Content-Type: text/xml"\ -H "Accept: text/xml"\ -d '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><CellSet><Row key="cm93MA=="><Cell column=" ZmFtaWx5Mzpjb2x1bW4x" >dGVzdA==</Cell></Row><Row key="cm93MQ=="><Cell column=" ZmFtaWx5NDpjb2x1bW4x" >dGVzdA==</Cell></Row></CellSet>'\ -X POST 'https://localhost:8443/gateway/sample/hbase/api/table2/false-row-key'
Get all data from table
Set Accept Header to "text/plain", "text/xml", "application/json" or "application/x-protobuf"
% curl -i -k -u hbase:hbase-password\ -H "Accept: text/xml"\ -X GET 'https://localhost:8443/gateway/sample/hbase/api/table1/*'
Execute cell or row query
Set Accept Header to "text/plain", "text/xml", "application/json" or "application/x-protobuf"
% curl -i -k -u hbase:hbase-password\ -H "Accept: text/xml"\ -X GET 'https://localhost:8443/gateway/sample/hbase/api/table1/row0/family1:col1'
Delete entire row from table
% curl -i -k -u hbase:hbase-password\ -H "Accept: text/xml"\ -X DELETE 'https://localhost:8443/gateway/sample/hbase/api/table2/row0'
Delete column family from row
% curl -i -k -u hbase:hbase-password\ -H "Accept: text/xml"\ -X DELETE 'https://localhost:8443/gateway/sample/hbase/api/table2/row0/family3'
Delete specific column from row
% curl -i -k -u hbase:hbase-password\ -H "Accept: text/xml"\ -X DELETE 'https://localhost:8443/gateway/sample/hbase/api/table2/row0/family3'
Create scanner
Scanner URL will be in Location response header
% curl -i -k -u hbase:hbase-password\ -H "Content-Type: text/xml"\ -d '<Scanner batch="1"/>'\ -X PUT https://localhost:8443/gateway/sample/hbase/api/table1/scanner
Get the values of the next cells found by the scanner
% curl -i -k -u hbase:hbase-password\ -H "Accept: application/json"\ https://localhost:8443/gateway/sample/hbase/api/usertable/scanner/13705290446328cff5ed
Delete scanner
% curl -i -k -u hbase:hbase-password\ -H "Accept: text/xml"\ -X DELETE https://localhost:8443/gateway/sample/hbase/api/table1/scanner/13705290446328cff5ed