我正在使用 nutch2.2.1 + hbase0.90.4,并希望通过HBase REST API Stargate访问数据。如果我使用 url(例如 www.usatoday.com)为 nutch 播种,则反向 url 将成为指定表('webpage')中的 HBase 行键。我可以通过 hbase shell 查找数据,如下所示:
hbase(main):001:0> get 'webpage', 'com.usatoday.www:http/'
COLUMN CELL
f:fi timestamp=1404762373394,value=\x00'\x8D\x00
f:ts timestamp=1404762373394, value=\x00\x00\x01G\x12\\xB5\xB3
mk:_injmrk_ timestamp=1404762373394, value=y
mk:dist timestamp=1404762373394, value=0
mtdt:_csh_ timestamp=1404762373394, value=?\x80\x00\x00
s:s timestamp=1404762373394, value=?\x80\x00\x00
但是,我在使用 REST API 时遇到了问题。大概我需要做一些非常简单的URL编码来抑制'http'之前的冒号,这给我带来了麻烦?
例如,当我尝试时,我得到一个 HTTP 404
curl http://localhost:8900/webpage/com.usatoday.www:http/
当我尝试
curl http://localhost:8900/webpage/com.usatoday.www%3Ahttp/
我知道 REST API 工作正常,因为我可以在名为“test”的表中创建一个名为“row3”的行并进行查找
curl http://localhost:8900/test/row3
看到以下预期结果:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><CellSet><Row key="cm93Mw=="><Cell timestamp="1404761922130" column="Y2Y6Yw==">dGhpcyBpcyBzb3J0YSB3b3JraW5nIG5vdw==</Cell></Row></CellSet>
谢谢您的帮助!