<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>Werx Limited &#187; interoperability</title> <atom:link href="http://werxltd.com/wp/tag/interoperability/feed/" rel="self" type="application/rss+xml" /><link>http://werxltd.com/wp</link> <description>We make IT work.</description> <lastBuildDate>Mon, 07 May 2012 18:40:10 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.2</generator> <item><title>Simple HBase query bridge</title><link>http://werxltd.com/wp/2010/03/25/simple-hbase-query-bridge/</link> <comments>http://werxltd.com/wp/2010/03/25/simple-hbase-query-bridge/#comments</comments> <pubDate>Thu, 25 Mar 2010 12:00:43 +0000</pubDate> <dc:creator>wes</dc:creator> <category><![CDATA[java]]></category> <category><![CDATA[software development]]></category> <category><![CDATA[hadoop]]></category> <category><![CDATA[hbase]]></category> <category><![CDATA[interoperability]]></category> <category><![CDATA[json-rpc]]></category> <category><![CDATA[map reduce]]></category> <category><![CDATA[mapreduce]]></category> <category><![CDATA[servlet]]></category> <category><![CDATA[tomcat]]></category><guid
isPermaLink="false">http://werxltd.com/wp/?p=522</guid> <description><![CDATA[I&#8217;ve recently released a simple json-rpc query bridge (using our own simple json-rpc framework) for HBase at http://code.google.com/p/hbasebridge/ You can use this bridge to query HBase for either the current record or the last few versions of a record. To see the methods http://localhost:8080/hbasebridge/rpc?debug=true Which returns a list of usable RPC methods: { "jsonrpc": "2.0", "result": [...]]]></description> <content:encoded><![CDATA[<p>I&#8217;ve recently released a simple json-rpc query bridge (using our own <a
href="http://werxltd.com/wp/portfolio/json-rpc/simple-java-json-rpc/">simple json-rpc framework</a>) for <a
href="http://hadoop.apache.org/hbase/">HBase </a>at <a
href="http://code.google.com/p/hbasebridge/">http://code.google.com/p/hbasebridge/</a></p><p>You can use this bridge to query HBase for either the current record or the last few versions of a record.</p><p>To see the methods</p><pre>http://localhost:8080/hbasebridge/rpc?debug=true</pre><p>Which returns a list of usable RPC methods:</p><pre class="brush:javascript">{
  "jsonrpc": "2.0",
  "result": {"method": [
    {
      "class": "com.werxltd.hbasebridge.HBaseInfo",
      "name": "listtables",
      "params": [],
      "returns": "org.json.JSONObject",
      "static": false
    },
    {
      "class": "com.werxltd.hbasebridge.HadoopInfo",
      "name": "clusterstatus",
      "params": [],
      "returns": "org.json.JSONObject",
      "static": false
    },
    {
      "class": "com.werxltd.hbasebridge.HadoopInfo",
      "name": "jobstatus",
      "params": [],
      "returns": "org.json.JSONObject",
      "static": false
    },
    {
      "class": "com.werxltd.jsonrpc.RPC",
      "name": "listrpcmethods",
      "params": [],
      "returns": "org.json.JSONObject",
      "static": false
    },
    {
      "class": "com.werxltd.hbasebridge.TableLookup",
      "name": "lookup",
      "params": ["org.json.JSONObject"],
      "returns": "org.json.JSONObject",
      "static": false
    }
  ]}
}</pre><p>To list tables:</p><pre>http://localhost:8080/hbasebridge/rpc?debug=true&#038;method=listtables</pre><p>Which returns:</p><pre class="brush:javascript">
{
  "jsonrpc": "2.0",
  "result": {"tables": [
    "mytable"
  ]}
}
</pre><p>To get the current status of the cluster:</p><pre>http://localhost:8080/hbasebridge/rpc?debug=true&#038;method=clusterstatus</pre><p>Which returns:</p><pre class="brush:javascript">{
  "jsonrpc": "2.0",
  "result": {
    "activetrackernames": [
      "trackernode1:localhost/127.0.0.1:33455",
      "trackernode2:localhost/127.0.0.1:54616",
    ],
    "blacklistedtrackernames": [],
    "blacklistedtrackers": 0,
    "jobqueues": {"queues": [{
      "jobs": [
        {
          "cleanuptasks": [{"state": ""}],
          "complete": false,
          "filename": "hdfs://hadoophdfsnode:9000/data/hadoop/mapred/system/job_201003191557_0442/job.xml",
          "jobpriority": "normal",
          "mapprogress": 1,
          "name": "My mapreduce job",
          "reduceprogress": 0.9819000363349915,
          "runstate": "running",
          "schedulinginfo": "NA",
          "setupprogress": 1,
          "starttime": 1269024863960,
          "username": "hadoop-admin"
        }
      ],
      "name": "default"
    }]},
    "jobtrackerstate": "running",
    "maptasks": 1,
    "maxmaptasks": 116,
    "maxmemory": 2079719424,
    "maxreducetasks": 58,
    "reducetasks": 16,
    "tasktrackers": 34,
    "ttyexpiryinterval": 600000,
    "usedmemory": 969170944
  }
}</pre><p>Key/Value Query:</p><pre>http://localhost:8080/hbase_tape/rpc?debug=true&#038;data={"method":"lookup","params":{"table":"tablename","keys":["mykey"]}}</pre><p>Results:</p><pre class="brush:javascript">
{
  "jsonrpc": "2.0",
  "result": {"rows": [{"mykey": {
    "family:col": "myvalue"
  }}]}
}
</pre><p>Key/Value query with versions:</p><pre>http://localhost:8080/hbase_tape/rpc?debug=true&#038;data={"method":"lookup","params":{"table":"tablename","keys":["mykey"],versions:2}}</pre><p>Results:</p><pre class="brush:javascript">
{
  "jsonrpc": "2.0",
  "result": {"rows": [{"mykey": {
    "family:col": [{
      "value": "myval",
      "version": 123456789
    }],
    "family:col": [{
      "value": "myoldval",
      "version": 123456788
    }]
  }}]}
}
</pre><p>The code should also provide a handy reference for anyone who wants to learn how to query HBase and scrape <a
href="http://hadoop.apache.org/hbase/docs/current/api/org/apache/hadoop/hbase/client/Result.html">Result</a> objects for values without knowing family or column names in advance.</p><div
class="betterrelated none"><p>No related content found.</p></div><p><a
class="a2a_button_facebook_like addtoany_special_service" data-href="http://werxltd.com/wp/2010/03/25/simple-hbase-query-bridge/"></a><a
class="a2a_button_twitter_tweet addtoany_special_service" data-count="none" data-url="http://werxltd.com/wp/2010/03/25/simple-hbase-query-bridge/" data-text="Simple HBase query bridge"></a><a
class="a2a_button_google_plusone addtoany_special_service" data-annotation="none" data-href="http://werxltd.com/wp/2010/03/25/simple-hbase-query-bridge/"></a><a
class="a2a_button_linkedin" href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwerxltd.com%2Fwp%2F2010%2F03%2F25%2Fsimple-hbase-query-bridge%2F&amp;linkname=Simple%20HBase%20query%20bridge" title="LinkedIn" rel="nofollow" target="_blank"><img
src="http://werxltd.com/wp/wp-content/plugins/add-to-any/icons/linkedin.png?9d7bd4" width="16" height="16" alt="LinkedIn"/></a><a
class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwerxltd.com%2Fwp%2F2010%2F03%2F25%2Fsimple-hbase-query-bridge%2F&amp;title=Simple%20HBase%20query%20bridge" id="wpa2a_2">Share/Save</a></p>]]></content:encoded> <wfw:commentRss>http://werxltd.com/wp/2010/03/25/simple-hbase-query-bridge/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using apc
Page Caching using apc
Database Caching 1/18 queries in 0.006 seconds using apc
Object Caching 345/380 objects using apc

Served from: werxltd.com @ 2012-05-21 19:07:22 -->
