Dear Wiki user,

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

The following page has been changed by Michael Gottesman:
http://wiki.apache.org/hadoop/Hbase/JSONRest

------------------------------------------------------------------------------
  == Preface ==
- ==== What is JSON Rest? ====
+ === What is JSON Rest? ===
- JSON Rest is at its core a Jetty Http Java Servlet that gives end users 
complete access to the HBase Client API that one communicates with through a 
combination of URLs, JSON, and Query Strings. It supports Filters, Scanners, 
and Transactions (Transactions are available with the correct patches), 
something which no other HBase client framework does at the moment. But most 
importantly to my altruistic side, it is a very modular framework so that it is 
easy for any end user to modify it to his/her needs. This was a fun project for 
me. I hope it is useful to you.
+ JSON Rest is at its core a Jetty Http Java Servlet that gives end users 
complete access to the HBase Client API through a combination of URLs, JSON, 
and Query Strings. It supports Filters, Scanners, and Transactions 
(Transactions are available with the correct patches), something which no other 
HBase client framework does at the moment. But most importantly to my 
altruistic side, it is a very modular framework so that it is easy for any end 
user to modify it to his/her needs. This was a fun project for me. I hope it is 
useful to you.
- ==== Why JSON? ====
+ === Why JSON? ===
  This is a question that I get asked a lot. Why JSON? Why not Thrift? Why not 
Protocol Buffers? The answer I give is simple: The Internet. JSON is native to 
the web and native to the browser. By using JSON as your message format, you 
allow for easy interoperability with any/all platforms currently in the 
marketplace. Thus you maximize your potential user base through familiarity, 
ease of use, and parser availability for the end user.
+ ----
  == Usage ==
- ==== Get ====
+ === Get ===
- ===== Database =====
+ ==== Database ====
  The current supported Database GET queries are:
-  * GetDatabaseMetadata
+  * getDatabaseMetadata - returns the master's connection status and a list of 
all database tables and their columns. To call this query send a simple get 
request to:
+ {{{
+ '/'
+ }}}
+ aka, server root. The server will then respond with JSON of the form:
+ {{{
+ TOPLEVEL => {"master_running":BOOLEAN,"tables":[TABLE, TABLE, ...]}
  
+ BOOLEAN := true|false
- ===== Table ======
- ===== Row =====
- ===== Cell =====
- ===== Timestamp =====
- ==== Post ====
- ==== Put ====
- ==== Delete ====
- ==== Transactions ====
- ==== Scanners ====
  
+ TABLE := {"name":"STRING", "columns":[COLUMN, COLUMN, ...]}
+ 
+ COLUMN := {
+              "name":"STRING",
+              "bloomfilter":BOOLEAN,
+              "time_to_live":INTEGER,
+              "in_memory":BOOLEAN,
+              "max_versions":INTEGER,
+              "compression":STRING, *NOTE* this is an enum defined in class 
HColumnDescriptor.CompressionType.
+              "max_value_length":INTEGER,
+              "block_cache_enabled":BOOLEAN
+           }
+ }}}
+ 
+ ==== Table ====
+ ==== Row ====
+ ==== Cell ====
+ ==== Timestamp ====
+ === Post ===
+ === Put ===
+ === Delete ===
+ === Transactions ===
+ === Scanners ===
+ 

Reply via email to