hadoop-common-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Hadoop Wiki] Update of "Hbase/Stargate" by Misty
Date Wed, 28 May 2014 00:37:51 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Hadoop Wiki" for change notification.

The "Hbase/Stargate" page has been changed by Misty:
https://wiki.apache.org/hadoop/Hbase/Stargate?action=diff&rev1=9&rev2=10

  = Stargate =
- 
  Stargate is the name of the REST server bundled with HBase.
  
  == Table Of Contents ==
-  1. [[#2|Deployment]]
+  1. [[#A2|Deployment]]
-  1. [[#3|Representational State Transfer]]
+  1. [[#A3|Representational State Transfer]]
-  1. [[#4|Resource Identifiers]]
+  1. [[#A4|Resource Identifiers]]
-  1. [[#5|Operations]]
+  1. [[#A5|Operations]]
-  1. [[#6|XML Schema]]
+  1. [[#A6|XML Schema]]
-  1. [[#7|Protobufs Schema]]
+  1. [[#A7|Protobufs Schema]]
  
  <<Anchor(1)>>
+ 
  == Deployment ==
- 
- Stargate can run as a daemon which starts an embedded Jetty servlet container and deploys
the servlet into it. 
+ Stargate can run as a daemon which starts an embedded Jetty servlet container and deploys
the servlet into it.
  
- 
- Start the embedded Jetty servlet container: 
+ Start the embedded Jetty servlet container:
  
  In the foreground:
-     {{{ % ./bin/hbase rest start -p <port> }}}<<BR>><<BR>>
+ 
-     where <port> is optional, and is the port the connector should listen on. (Default
is 8080.)<<BR>>
+  . {{{ % ./bin/hbase rest start -p <port> }}}<<BR>><<BR>>
where <port> is optional, and is the port the connector should listen on. (Default is
8080.)<<BR>>
  
  In the background (with output directed to its own log under $HBASE_LOGS_DIR):
-     {{{ % ./bin/hbase-daemon.sh start rest -p <port>}}} <<BR>><<BR>>
+ 
-     where <port> is optional, and is the port the connector should listen on. (Default
is 8080.)
+  . {{{ % ./bin/hbase-daemon.sh start rest -p <port>}}} <<BR>><<BR>>
where <port> is optional, and is the port the connector should listen on. (Default is
8080.)
  
  To stop:
+ 
-     {{{ % ./bin/hbase-daemon.sh stop rest }}}
+  . {{{ % ./bin/hbase-daemon.sh stop rest }}}
  
  <<Anchor(2)>>
+ 
  == Representational State Transfer ==
- 
- The terms "representational state transfer" and "REST" were introduced in 2000 in the doctoral
dissertation of Roy Fielding, one of the principal authors of the Hypertext Transfer Protocol
(HTTP) specification. 
+ The terms "representational state transfer" and "REST" were introduced in 2000 in the doctoral
dissertation of Roy Fielding, one of the principal authors of the Hypertext Transfer Protocol
(HTTP) specification.
  
- A GET to an identifier requests a copy of the information in the supplied content type.

+ A GET to an identifier requests a copy of the information in the supplied content type.
  
- A PUT to an identifier replaces the information. The supplied content type determines how
it is to be interpreted. 
+ A PUT to an identifier replaces the information. The supplied content type determines how
it is to be interpreted.
  
- POST adds information. 
+ POST adds information.
  
- DELETE eliminates information. 
+ DELETE eliminates information.
- 
  
  <<Anchor(3)>>
+ 
  == Resource Identifiers ==
- 
- RFC 3968 defines URL syntax: 
+ RFC 3968 defines URL syntax:
  
+ {{{scheme://user:pass@example.net:8080/path/to/file;type=foo?name=val#frag }}}<<BR>>
{{{\_____/  \_______/\___________/\__/\______/\____/\______/\________/\___/ }}}<<BR>>
{{{   |         |          |       |     |      |       |       |       | }}}<<BR>>
{{{ scheme   userinfo  hostname  port  path  filename param   query fragment }}}<<BR>>
{{{         \________________________/ }}}<<BR>> {{{                  authority
}}}<<BR>>
- {{{scheme://user:pass@example.net:8080/path/to/file;type=foo?name=val#frag }}}<<BR>>
- {{{\_____/  \_______/\___________/\__/\______/\____/\______/\________/\___/ }}}<<BR>>
- {{{   |         |          |       |     |      |       |       |       | }}}<<BR>>
- {{{ scheme   userinfo  hostname  port  path  filename param   query fragment }}}<<BR>>
- {{{         \________________________/ }}}<<BR>>
- {{{                  authority }}}<<BR>>
  
- Stargate exposes HBase tables, rows, cells, and metadata as URL specified resources. 
+ Stargate exposes HBase tables, rows, cells, and metadata as URL specified resources.
  
  === Addressing for cell or row query (GET) ===
+ {{{path := '/' <table> }}}<<BR>> {{{        '/' <row> }}}<<BR>>
{{{        ( '/' ( <column> ( ':' <qualifier> )? }}}<<BR>> {{{   
            ( ',' <column> ( ':' <qualifier> )? )+ )? }}}<<BR>> {{{
           ( '/' ( <start-timestamp> ',' )? <end-timestamp> )? )? }}}<<BR>>
{{{query := ( '?' 'v' '=' <num-versions> )? }}}<<BR>>
- 
- {{{path := '/' <table> }}}<<BR>>
- {{{        '/' <row> }}}<<BR>>
- {{{        ( '/' ( <column> ( ':' <qualifier> )? }}}<<BR>>
- {{{                ( ',' <column> ( ':' <qualifier> )? )+ )? }}}<<BR>>
- {{{            ( '/' ( <start-timestamp> ',' )? <end-timestamp> )? )? }}}<<BR>>
- {{{query := ( '?' 'v' '=' <num-versions> )? }}}<<BR>>
  
  === Addressing for single value store (PUT) ===
- 
- Address with table, row, column (and optional qualifier), and optional timestamp. 
+ Address with table, row, column (and optional qualifier), and optional timestamp.
  
- {{{path := '/' <table> '/' <row> '/' <column> ( ':' <qualifier>
)? }}}<<BR>>
+ {{{path := '/' <table> '/' <row> '/' <column> ( ':' <qualifier>
)? }}}<<BR>> {{{          ( '/' <timestamp> )? }}}<<BR>>
- {{{          ( '/' <timestamp> )? }}}<<BR>>
  
  === Addressing for multiple (batched) value store (PUT) ===
- 
  {{{path := '/' <table> '/' <false-row-key> }}}
  
  === Addressing for row, column, or cell DELETE ===
+ {{{path := '/' <table> }}}<<BR>> {{{        '/' <row> }}}<<BR>>
{{{        ( '/' <column> ( ':' <qualifier> )? }}}<<BR>> {{{     
    ( '/' <timestamp> )? )? }}}<<BR>>
- 
- {{{path := '/' <table> }}}<<BR>>
- {{{        '/' <row> }}}<<BR>>
- {{{        ( '/' <column> ( ':' <qualifier> )? }}}<<BR>>
- {{{          ( '/' <timestamp> )? )? }}}<<BR>>
  
  === Addressing for table creation or schema update (PUT or POST), schema query (GET), or
delete (DELETE) ===
- 
  {{{path := '/' <table> / 'schema' }}}
  
  === Addressing for scanner creation (POST) ===
- 
  {{{path := '/' <table> '/' 'scanner' }}}
  
  === Addressing for scanner next item (GET) ===
- 
  {{{path := '/' <table> '/' 'scanner' '/' <scanner-id> }}}
  
  === Addressing for scanner deletion (DELETE) ===
- 
  {{{path := '/' <table> '/' '%scanner' '/' <scanner-id> }}}
  
- 
  <<Anchor(4)>>
+ 
  == Operations ==
- 
  Following are semantics and examples of supported operations.
  
+ === JSON Notation Guidelines ===
+ [[https://issues.apache.org/jira/browse/HBASE-9435|HBASE-9435]] replaced Jersey with Jackson
for serializing and deserializing JSON. During implementation of this change, a bug in Jersey
was found. This bug caused mapped and natural JSON notation to be used interchangeably, and
both types were treated as natural. Mapped notation uses the '@' symbol in mappings. HBase
had been simply ignoring the '@' symbols. It was decided to deprecate use of mapped notation.
Mapped notation is no longer supported, and using the '@' symbol in JSON notation will cause
errors such as the following:
+ 
+ {{{
+  HTTP/1.1 500 Can not deserialize instance of java.util.List out of START_OBJECT token [...]
+ }}}
+  . Since the '@' symbol was ignored previously, there is no change in functionality by removing
it. Examples in this article have been updated to remove the '@' symbol.
+ 
  === Query Software Version ===
- 
  {{{GET /version}}}
  
- Returns the software version. Set Accept header to text/plain for plain text output. Set
Accept header to text/xml for XML reply. Set Accept header to application/json for JSON reply.
Set Accept header to application/x-protobuf for protobufs. 
+ Returns the software version. Set Accept header to text/plain for plain text output. Set
Accept header to text/xml for XML reply. Set Accept header to application/json for JSON reply.
Set Accept header to application/x-protobuf for protobufs.
  
- If not successful, returns appropriate HTTP error status code. If successful, returns the
software version. 
+ If not successful, returns appropriate HTTP error status code. If successful, returns the
software version.
  
- Examples: 
+ Examples:
  
  {{{
  % curl http://localhost:8000/version
@@ -168, +150 @@

  000060 06 36 2e 31 2e 31 34 2a 08 31 2e 31 2e 30 2d 65
  000070 61
  }}}
- 
  === Query Storage Cluster Version ===
- 
  {{{GET /version/cluster}}}
  
- Returns version information regarding the HBase cluster backing the Stargate instance. 
+ Returns version information regarding the HBase cluster backing the Stargate instance.
  
- Examples: 
+ Examples:
  
  {{{
  % curl http://localhost:8000/version/cluster
@@ -206, +186 @@

  
  "0.20.0"
  }}}
- 
  === Query Storage Cluster Status ===
- 
  {{{GET /status/cluster}}}
  
- Returns detailed status on the HBase cluster backing the Stargate instance. 
+ Returns detailed status on the HBase cluster backing the Stargate instance.
  
- Examples: 
+ Examples:
  
  {{{
  % curl http://localhost:8000/status/cluster
@@ -293, +271 @@

  jQ0ODcwMzIwMzQz"},{"@name":"LVJPT1QtLCww"},{"@name":"Y29udGVudCwsMTI0NDg1MTk5O
  TE4Nw=="}]} } }
  }}}
- 
  === Query Table List ===
- 
  {{{GET /}}}
  
- Retrieves the list of available tables. Set Accept header to text/plain for plain text output.
Set Accept header to text/xml for XML reply. Set Accept header to application/json for JSON
reply. Set Accept header to application/x-protobuf for protobufs. If not successful, returns
appropriate HTTP error status code. If successful, returns the table list in the requested
encoding. 
+ Retrieves the list of available tables. Set Accept header to text/plain for plain text output.
Set Accept header to text/xml for XML reply. Set Accept header to application/json for JSON
reply. Set Accept header to application/x-protobuf for protobufs. If not successful, returns
appropriate HTTP error status code. If successful, returns the table list in the requested
encoding.
  
- Examples: 
+ Examples:
  
  {{{
  % curl http://localhost:8000/
@@ -341, +317 @@

  
  000000 0a 07 63 6f 6e 74 65 6e 74 0a 04 75 72 6c 73
  }}}
- 
  === Query Table Schema ===
- 
  {{{GET /<table>/schema}}}
  
- Retrieves table schema. Set Accept header to text/plain for plain text output. Set Accept
header to text/xml for XML reply. Set Accept header to application/json for JSON reply. Set
Accept header to application/x-protobuf for protobufs. If not successful, returns appropriate
HTTP error status code. If successful, returns the table schema in the requested encoding.

+ Retrieves table schema. Set Accept header to text/plain for plain text output. Set Accept
header to text/xml for XML reply. Set Accept header to application/json for JSON reply. Set
Accept header to application/x-protobuf for protobufs. If not successful, returns appropriate
HTTP error status code. If successful, returns the table schema in the requested encoding.
  
- Examples: 
+ Examples:
  
  {{{
  % curl http://localhost:8000/content/schema
@@ -359, +333 @@

  Content-Type: text/plain
  
  { NAME=> 'content', IS_META => 'false', IS_ROOT => 'false', COLUMNS => [ { NA
- ME => 'content', BLOCKSIZE => '65536', BLOOMFILTER => 'false', BLOCKCACHE =>

+ ME => 'content', BLOCKSIZE => '65536', BLOOMFILTER => 'false', BLOCKCACHE =>
  'false', COMPRESSION => 'GZ', LENGTH => '2147483647', VERSIONS => '1', TTL =>
  '-1', IN_MEMORY => 'false' }, { NAME => 'info', BLOCKSIZE => '65536', BLOOMFI
  LTER => 'false', BLOCKCACHE => 'false', COMPRESSION => 'NONE', LENGTH => '214
@@ -415, +389 @@

  [...]
  000230 4f 4e 45
  }}}
- 
  === Create Table Or Update Table Schema ===
- 
  {{{PUT /<table>/schema}}}
  
  {{{POST /<table>/schema}}}
  
- Uploads table schema. PUT or POST creates table as necessary. PUT fully replaces schema.
POST modifies schema (add or modify column family). Supply the full table schema for PUT or
a well formed schema fragment for POST in the desired encoding. Set Content-Type header to
text/xml if the desired encoding is XML. Set Content-Type header to application/json if the
desired encoding is JSON. Set Content-Type header to application/x-protobuf if the desired
encoding is protobufs. If not successful, returns appropriate HTTP error status code. If successful,
returns HTTP 200 status. 
+ Uploads table schema. PUT or POST creates table as necessary. PUT fully replaces schema.
POST modifies schema (add or modify column family). Supply the full table schema for PUT or
a well formed schema fragment for POST in the desired encoding. Set Content-Type header to
text/xml if the desired encoding is XML. Set Content-Type header to application/json if the
desired encoding is JSON. Set Content-Type header to application/x-protobuf if the desired
encoding is protobufs. If not successful, returns appropriate HTTP error status code. If successful,
returns HTTP 200 status.
  
  === Query Table Metadata ===
- 
  {{{GET /<table>/regions}}}
  
- Retrieves table region metadata. Set Accept header to text/plain for plain text output.
Set Accept header to text/xml for XML reply. Set Accept header to application/json for JSON
reply. Set Accept header to application/x-protobuf for protobufs. If not successful, returns
appropriate HTTP error status code. If successful, returns the table region metadata in the
requested encoding. 
+ Retrieves table region metadata. Set Accept header to text/plain for plain text output.
Set Accept header to text/xml for XML reply. Set Accept header to application/json for JSON
reply. Set Accept header to application/x-protobuf for protobufs. If not successful, returns
appropriate HTTP error status code. If successful, returns the table region metadata in the
requested encoding.
  
- Examples: 
+ Examples:
  
  {{{
  % curl -H "Accept: text/xml" http://localhost:8000/content/regions
@@ -444, +415 @@

  <TableInfo name="content"><Region location="test:51025" endKey="M2VmMTZkNzc2Nj
  AzYmY5YjllNzc1YzljZWI2NDg2MGY=" startKey="" id="1244851999187" name="content,,
  1244851999187"/><Region location="test:51025" endKey="NjAxMjkyYTgzOWI5NWU1MDIw
- MGQ4Zjg3Njc4NTk4NjQ=" startKey="M2VmMTZkNzc2NjAzYmY5YjllNzc1YzljZWI2NDg2MGY=" 
+ MGQ4Zjg3Njc4NTk4NjQ=" startKey="M2VmMTZkNzc2NjAzYmY5YjllNzc1YzljZWI2NDg2MGY="
  id="1244869158156" name="content,3ef16d776603bf9b9e775c9ceb64860f,124486915815
  6"/><Region location="test:51025" endKey="N2Y2ZDQ4ODMwZWY1MWQ2MzVlOWE1YjY3MmU3
  OWEwODM=" startKey="NjAxMjkyYTgzOWI5NWU1MDIwMGQ4Zjg3Njc4NTk4NjQ=" id="12448691
@@ -503, +474 @@

  [...]
  0003c0 35
  }}}
- 
  === Delete Table ===
- 
  {{{DELETE /<table>/schema}}}
  
- Deletes a table. If not successful, returns appropriate HTTP error status code. If successful,
returns HTTP 200 status. 
+ Deletes a table. If not successful, returns appropriate HTTP error status code. If successful,
returns HTTP 200 status.
  
- NOTE: {{{DELETE /<table>}}} will not work 
+ NOTE: {{{DELETE /<table>}}} will not work
  
- Examples: 
+ Examples:
  
  {{{
  % telnet localhost 8000
@@ -521, +490 @@

  HTTP/1.1 200 OK
  Content-Length: 0
  }}}
- 
  === Cell Query (Single Value) ===
+ {{{GET /<table>/<row>/ }}}<<BR>> {{{    <column> ( : <qualifier>
)? }}}<<BR>> {{{  ( / <timestamp> )? }}}<<BR>>
  
- {{{GET /<table>/<row>/ }}}<<BR>>
- {{{    <column> ( : <qualifier> )? }}}<<BR>>
- {{{  ( / <timestamp> )? }}}<<BR>>
- 
- Retrieves one cell, with optional specification of timestamp. Set Accept header to text/xml
for XML reply. Set Accept header to application/x-protobuf for protobufs. Set Accept header
to application/octet-stream for binary. If not successful, returns appropriate HTTP error
status code. If successful, returns HTTP 200 status and cell data in the response body in
the requested encoding. If the encoding is binary, returns row, column, and timestamp in X
headers: X-Row, X-Column, and X-Timestamp, respectively. Depending on the precision of the
resource specification, some of the X-headers may be elided as redundant. 
+ Retrieves one cell, with optional specification of timestamp. Set Accept header to text/xml
for XML reply. Set Accept header to application/x-protobuf for protobufs. Set Accept header
to application/octet-stream for binary. If not successful, returns appropriate HTTP error
status code. If successful, returns HTTP 200 status and cell data in the response body in
the requested encoding. If the encoding is binary, returns row, column, and timestamp in X
headers: X-Row, X-Column, and X-Timestamp, respectively. Depending on the precision of the
resource specification, some of the X-headers may be elided as redundant.
  
- Examples: 
+ Examples:
  
  {{{
  % curl -H "Accept: text/xml" http://localhost:8000/content/00012614f7d43df6418523445a6787d6/content:raw
@@ -586, +551 @@

  
  [...]
  }}}
- 
  === Cell or Row Query (Multiple Values) ===
+ {{{GET /<table>/<row> }}}<<BR>> {{{  ( / ( <column> ( : <qualifier>
)? }}}<<BR>> {{{      ( , <column> ( : <qualifier> )? )+ )? }}}<<BR>>
{{{    ( / ( <start-timestamp> ',' )? <end-timestamp> )? )? }}}<<BR>>
{{{  ( ?v= <num-versions> )? }}}<<BR>>
  
- {{{GET /<table>/<row> }}}<<BR>>
- {{{  ( / ( <column> ( : <qualifier> )? }}}<<BR>>
- {{{      ( , <column> ( : <qualifier> )? )+ )? }}}<<BR>>
- {{{    ( / ( <start-timestamp> ',' )? <end-timestamp> )? )? }}}<<BR>>
- {{{  ( ?v= <num-versions> )? }}}<<BR>>
- 
- Retrieves one or more cells from a full row, or one or more specified columns in the row,
with optional filtering via timestamp, and an optional restriction on the maximum number of
versions to return. Set Accept header to text/xml for XML reply. Set Accept header to application/json
for JSON reply. Set Accept header to application/x-protobuf for protobufs. Set Accept header
to application/octet-stream for binary. If not successful, returns appropriate HTTP error
status code. If successful, returns row results in the requested encoding. 
+ Retrieves one or more cells from a full row, or one or more specified columns in the row,
with optional filtering via timestamp, and an optional restriction on the maximum number of
versions to return. Set Accept header to text/xml for XML reply. Set Accept header to application/json
for JSON reply. Set Accept header to application/x-protobuf for protobufs. Set Accept header
to application/octet-stream for binary. If not successful, returns appropriate HTTP error
status code. If successful, returns row results in the requested encoding.
  
- NOTE: If binary encoding is requested, only one cell can be returned, the first to match
the resource specification. The row, column, and timestamp associated with the cell will be
transmitted in X headers: X-Row, X-Column, and X-Timestamp, respectively. Depending on the
precision of the resource specification, some of the X-headers may be elided as redundant.

+ NOTE: If binary encoding is requested, only one cell can be returned, the first to match
the resource specification. The row, column, and timestamp associated with the cell will be
transmitted in X headers: X-Row, X-Column, and X-Timestamp, respectively. Depending on the
precision of the resource specification, some of the X-headers may be elided as redundant.
  
  '''Suffix Globbing'''
  
- Multiple value queries of a row can optionally append a suffix glob on the row key. This
is a restricted form of scanner which will return all values in all rows that have keys which
contain the supplied key on their left hand side, for example: 
+ Multiple value queries of a row can optionally append a suffix glob on the row key. This
is a restricted form of scanner which will return all values in all rows that have keys which
contain the supplied key on their left hand side, for example:
  
+  . {{{org.someorg.* }}}<<BR>> {{{ -> org.someorg.blog }}}<<BR>>
{{{ -> org.someorg.home }}}<<BR>> {{{ -> org.someorg.www }}}<<BR>>
-     {{{org.someorg.* }}}<<BR>>
-     {{{ -> org.someorg.blog }}}<<BR>>
-     {{{ -> org.someorg.home }}}<<BR>>
-     {{{ -> org.someorg.www }}}<<BR>>
  
- Examples: 
+ Examples:
  
  {{{
  % curl -H "Accept: text/xml" http://localhost:8000/urls/https|ad.doubleclick.net|*
@@ -675, +631 @@

  0dHB8d3d3LnR3aXR0ZXIuY29tfDgwfGR1bmNhbnJpbGV5","$":"aHR0cDovL3d3dy50d2l0dGVyLm
  NvbTo4MC9kdW5jYW5yaWxleQ=="}]}}
  
- NOTE: The cell value is given in JSON encoding as the value associated with the key "$".

+ NOTE: The cell value is given in JSON encoding as the value associated with the key "$".
  
  % curl -H "Accept: application/x-protobuf" http://localhost:8000/content/00012614f7d43df6418523445a6787d6
  
@@ -691, +647 @@

  [...]
  0002b0 69 6c 65 79
  }}}
- 
  === Cell Store (Single) ===
- 
  {{{PUT /<table>/<row>/<column>( : <qualifier> )? ( / <timestamp>
)?}}}
  
  {{{POST /<table>/<row>/<column>( : <qualifier> )? ( / <timestamp>
)?}}}
  
- Stores cell data into the specified location. If not successful, returns appropriate HTTP
error status code. If successful, returns HTTP 200 status. Set Content-Type header to text/xml
for XML encoding. Set Content-Type header to application/x-protobuf for protobufs encoding.
Set Content-Type header to application/octet-stream for binary encoding. When using binary
encoding, optionally, set X-Timestamp header to the desired timestamp. 
+ Stores cell data into the specified location. If not successful, returns appropriate HTTP
error status code. If successful, returns HTTP 200 status. Set Content-Type header to text/xml
for XML encoding. Set Content-Type header to application/x-protobuf for protobufs encoding.
Set Content-Type header to application/octet-stream for binary encoding. When using binary
encoding, optionally, set X-Timestamp header to the desired timestamp.
  
- PUT and POST operations are equivalent here: Specified addresses without existing data will
create new values. Specified addresses with existing data will create new versions, overwriting
an existing version if all of { row, column:qualifer, timestamp } match that of the existing
value. 
+ PUT and POST operations are equivalent here: Specified addresses without existing data will
create new values. Specified addresses with existing data will create new versions, overwriting
an existing version if all of { row, column:qualifer, timestamp } match that of the existing
value.
  
- See "Cell Query (Single Value)" section for encoding examples. 
+ See "Cell Query (Single Value)" section for encoding examples.
  
- Examples: 
+ Examples:
  
  {{{
  % curl -H "Content-Type: text/xml" --data '[...]' http://localhost:8000/test/testrow/test:testcolumn
@@ -712, +666 @@

  HTTP/1.1 200 OK
  Content-Length: 0
  }}}
- 
  === Cell Store (Multiple) ===
- 
  {{{PUT /<table>/<false-row-key>}}}
  
  {{{POST /<table>/<false-row-key>}}}
  
- Use a false row key. Row, column, and timestamp values in supplied cells override the specifications
of the same on the path, allowing for posting of multiple values to a table in batch. If not
successful, returns appropriate HTTP error status code. If successful, returns HTTP 200 status.
Set Content-Type to text/xml for XML encoding. Set Content-Type header to application/x-protobuf
for protobufs encoding. Supply commit data in the PUT or POST body. 
+ Use a false row key. Row, column, and timestamp values in supplied cells override the specifications
of the same on the path, allowing for posting of multiple values to a table in batch. If not
successful, returns appropriate HTTP error status code. If successful, returns HTTP 200 status.
Set Content-Type to text/xml for XML encoding. Set Content-Type header to application/x-protobuf
for protobufs encoding. Supply commit data in the PUT or POST body.
  
- PUT and POST operations are equivalent here: Specified addresses without existing data will
create new values. Specified addresses with existing data will create new versions, overwriting
an existing version if all of { row, column:qualifer, timestamp } match that of the existing
value. 
+ PUT and POST operations are equivalent here: Specified addresses without existing data will
create new values. Specified addresses with existing data will create new versions, overwriting
an existing version if all of { row, column:qualifer, timestamp } match that of the existing
value.
  
- See "Cell or Row Query (Multiple Values)" for encoding examples. 
+ See "Cell or Row Query (Multiple Values)" for encoding examples.
- 
  
  === Row, Column, or Cell Delete ===
+ {{{DELETE /<table>/<row> }}}<<BR>> {{{  ( / ( <column> ( :
<qualifier> )? }}}<<BR>> {{{    ( / <timestamp> )? )? }}}<<BR>>
  
- {{{DELETE /<table>/<row> }}}<<BR>>
- {{{  ( / ( <column> ( : <qualifier> )? }}}<<BR>>
- {{{    ( / <timestamp> )? )? }}}<<BR>>
- 
- Deletes an entire row, a entire column family, or specific cell(s), depending on how specific
the data address. If not successful, returns appropriate HTTP error status code. If successful,
returns HTTP 200 status. 
+ Deletes an entire row, a entire column family, or specific cell(s), depending on how specific
the data address. If not successful, returns appropriate HTTP error status code. If successful,
returns HTTP 200 status.
  
- NOTE: {{{DELETE /<table>}}} will not work. Use {{{DELETE /<table>/schema}}}
instead. 
+ NOTE: {{{DELETE /<table>}}} will not work. Use {{{DELETE /<table>/schema}}}
instead.
  
  === Scanner Creation ===
- 
  {{{PUT /<table>/scanner}}}
  
  {{{POST /<table>/scanner}}}
  
- Allocates a new table scanner. If not successful, returns appropriate HTTP error status
code. If successful, returns HTTP 201 status (created) and the URI which should be used to
address the scanner, e.g. 
+ Allocates a new table scanner. If not successful, returns appropriate HTTP error status
code. If successful, returns HTTP 201 status (created) and the URI which should be used to
address the scanner, e.g.
  
-     {{{/<table>/scanner/112876541342014107c0fa92}}}
+  . {{{/<table>/scanner/112876541342014107c0fa92}}}
  
- Set Content-Type to text/xml if supplying an XML scanner specification. Set Content-Type
to application/protobuf if supplying a protobufs encoded specification. 
+ Set Content-Type to text/xml if supplying an XML scanner specification. Set Content-Type
to application/protobuf if supplying a protobufs encoded specification.
  
- Examples: 
+ Examples:
  
  {{{
  % curl -H "Content-Type: text/xml" -d '<Scanner batch="1"/>' http://localhost:8000/content/scanner
@@ -757, +704 @@

  Location: http://localhost:8000/content/scanner/12447063229213b1937
  Content-Length: 0
  }}}
- 
  === Scanner Get Next ===
- 
  {{{GET /<table>/scanner/<scanner-id>}}}
  
- Returns the values of the next cells found by the scanner, up to the configured batch amount.
Set Accept header to text/xml for XML encoding. Set Accept header to application/x-protobuf
for protobufs encoding. Set Accept header to application/octet-stream for binary encoding.
If not successful, returns appropriate HTTP error status code. If result is successful but
the scanner is exhausted, returns HTTP 204 status (no content). Otherwise, returns HTTP 200
status and row and cell data in the response body. See examples from the "Cell or Row Query
(Multiple Values)" section. 
+ Returns the values of the next cells found by the scanner, up to the configured batch amount.
Set Accept header to text/xml for XML encoding. Set Accept header to application/x-protobuf
for protobufs encoding. Set Accept header to application/octet-stream for binary encoding.
If not successful, returns appropriate HTTP error status code. If result is successful but
the scanner is exhausted, returns HTTP 204 status (no content). Otherwise, returns HTTP 200
status and row and cell data in the response body. See examples from the "Cell or Row Query
(Multiple Values)" section.
  
- NOTE: The binary encoding option returns only one cell regardless of the batching parameter
supplied during scanner creation. The row, column, and timestamp associated with the cell
are transmitted as X-headers: X-Row, X-Column, and X-Timestamp respectively. 
+ NOTE: The binary encoding option returns only one cell regardless of the batching parameter
supplied during scanner creation. The row, column, and timestamp associated with the cell
are transmitted as X-headers: X-Row, X-Column, and X-Timestamp respectively.
  
- Examples: 
+ Examples:
  
  {{{
  % curl -H "Content-Type: text/xml" http://localhost:8000/content/scanner/12447063229213b1937
@@ -824, +769 @@

  000010 6f 72 6b 2e 63 6f 6d 3a 38 30 2f 72 6f 62 6f 74
  000020 73 2e 74 78 74
  }}}
- 
  === Scanner Deletion ===
- 
  {{{DELETE /<table>/scanner/<scanner-id>}}}
  
- Deletes resources associated with the scanner. This is an optional action. Scanners will
expire after some globally configurable interval has elapsed with no activity on the scanner.
If not successful, returns appropriate HTTP error status code. If successful, returns HTTP
status 200. 
+ Deletes resources associated with the scanner. This is an optional action. Scanners will
expire after some globally configurable interval has elapsed with no activity on the scanner.
If not successful, returns appropriate HTTP error status code. If successful, returns HTTP
status 200.
  
- Examples: 
+ Examples:
  
  {{{
  % telnet localhost 8000
@@ -840, +783 @@

  HTTP/1.1 200 OK
  Content-Length: 0
  }}}
- 
  <<Anchor(5)>>
+ 
  == XML Schema ==
- 
  {{{
  <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="RESTSchema">
  
      <element name="Version" type="tns:Version"></element>
-     
+ 
      <complexType name="Version">
        <attribute name="REST" type="string"></attribute>
        <attribute name="JVM" type="string"></attribute>
@@ -858, +800 @@

      </complexType>
  
      <element name="TableList" type="tns:TableList"></element>
-     
+ 
      <complexType name="TableList">
          <sequence>
              <element name="table" type="tns:Table" maxOccurs="unbounded" minOccurs="1"></element>
@@ -872, +814 @@

      </complexType>
  
      <element name="TableInfo" type="tns:TableInfo"></element>
-     
+ 
      <complexType name="TableInfo">
          <sequence>
              <element name="region" type="tns:TableRegion" maxOccurs="unbounded" minOccurs="1"></element>
@@ -889, +831 @@

      </complexType>
  
      <element name="TableSchema" type="tns:TableSchema"></element>
-     
+ 
      <complexType name="TableSchema">
          <sequence>
              <element name="column" type="tns:ColumnSchema" maxOccurs="unbounded" minOccurs="1"></element>
@@ -919, +861 @@

              <element name="cell" type="tns:Cell" maxOccurs="unbounded" minOccurs="1"></element>
          </sequence>
      </complexType>
-  
+ 
      <element name="Cell" type="tns:Cell"></element>
  
      <complexType name="Cell">
@@ -934, +876 @@

      </complexType>
  
      <element name="Scanner" type="tns:Scanner"></element>
-     
+ 
      <complexType name="Scanner">
          <sequence>
              <element name="column" type="base64Binary" minOccurs="0" maxOccurs="unbounded"></element>
@@ -958, +900 @@

      <element name="StorageClusterStatus"
          type="tns:StorageClusterStatus">
      </element>
-     
+ 
      <complexType name="StorageClusterStatus">
          <sequence>
              <element name="liveNode" type="tns:Node"
@@ -997, +939 @@

  
  </schema>
  }}}
- 
  <<Anchor(6)>>
+ 
  == Protobufs Schema ==
- 
  {{{
  message Version {
    optional string restVersion = 1;
@@ -1031, +972 @@

    repeated Node liveNodes = 1;
    repeated string deadNodes = 2;
    // summary statistics
-   optional int32 regions = 3; 
+   optional int32 regions = 3;
-   optional int32 requests = 4; 
+   optional int32 requests = 4;
    optional double averageLoad = 5;
  }
  
@@ -1057, +998 @@

    message Attribute {
      required string name = 1;
      required string value = 2;
-   }  
+   }
    repeated Attribute attrs = 2;
    repeated ColumnSchema columns = 3;
    // optional helpful encodings of commonly used attributes

Mime
View raw message