如果行键是反向的,如何查找hbase restapi(stargate)

xxe27gdn  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(423)

我正在使用nutch2.2.1+hbase0.90.4,希望通过hbase restapi stargate访问数据。如果我用一个网址(例如。www.usatoday.com),则反向的url将成为指定表(“网页”)中的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

但是,我在使用restapi时遇到了问题。想必我需要做一些非常简单的url编码,以在给我带来麻烦的“http”之前抑制冒号?
例如,我得到一个HTTP404当我尝试

curl http://localhost:8900/webpage/com.usatoday.www:http/

当我尝试的时候

curl http://localhost:8900/webpage/com.usatoday.www%3Ahttp/

我知道restapi工作正常,因为我可以在一个名为“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>

谢谢你的帮助!

odopli94

odopli941#

还需要对正斜杠进行url编码。以下工作。

curl http://localhost:8900/webpage/com.usatoday.www%3Ahttp%2F

相关问题