hbase shell中如何查看nutch爬取的数据

在hbase shell中,可用的命令只有count, get , put,scan 等。如果有一个你并不了解的数据库,如何查看其中的一条数据呢?比如第一条数据。
我被这个问题困扰了几天。hbase竟然没有一个命令可以查询前几行数据吗?

后来又认真看了看仅有的几个命令,发现scan命令可以做这件事情。

比如nutch抓来的数据库,用list可以看到表的名字叫’1_webpage’ . 要看第一条数据可以
scan ‘1_webpage’, {LIMIT=>1}
如此能打出第一条数据,有了第一条数据,就可以得到行关键字,然后可以利用STARTROW结合LIMIT灵活打印给定的行,如下所示:(另外可以用COLUMNS=>[‘f’,’il’]来指定列)


hbase(main):005:0> scan ‘1_webpage’, {LIMIT=>1, STARTROW=>’net.bagualu.dp:http/’}

ROW                                   COLUMN+CELL

 net.bagualu.dp:http/                 column=f:bas, timestamp=1426068002220, value=http://dp.bagualu.net/

 net.bagualu.dp:http/                 column=f:bid, timestamp=1426073199513, value=1426073185-7164

 net.bagualu.dp:http/                 column=f:cnt, timestamp=1426068002220, value=\x0A\x0A302 Found\x0A\x0A

Found
\x0A
The document has moved here.
\x0A

\x0A

Apache/2.2.22 (Ubuntu) Server at dp.bagual

                                      u.net Port 80
\x0A\x0A

 net.bagualu.dp:http/                 column=f:fi, timestamp=1426073177614, value=\x00’\x8D\x00

 net.bagualu.dp:http/                 column=f:mod, timestamp=1426068054752, value=\x00\x00\x00\x00\x00\x00\x00\x00

 net.bagualu.dp:http/                 column=f:pmod, timestamp=1426068054752, value=\x00\x00\x00\x00\x00\x00\x00\x00

 net.bagualu.dp:http/                 column=f:prot, timestamp=1426068002220, value=\x1A\x02Bhttp://www.bagualu.net:8080/fund3\x00\x00

 net.bagualu.dp:http/                 column=f:pts, timestamp=1426068002220, value=\x00\x00\x01L\x07\xFB\x1C\xAF

 net.bagualu.dp:http/                 column=f:rsf, timestamp=1426073177614, value=\x00\x00\x00\x00

 net.bagualu.dp:http/                 column=f:st, timestamp=1426073177614, value=\x00\x00\x00\x01

 net.bagualu.dp:http/                 column=f:ts, timestamp=1426073177614, value=\x00\x00\x01L\x08\x95\xC8\xBD

 net.bagualu.dp:http/                 column=f:typ, timestamp=1426068002220, value=text/html

 net.bagualu.dp:http/                 column=il:http://www.bagualu.net/wordpress/archives/category/%e8%82%a1%e7%a5%a8, timestamp=1426073177614, va

                                      lue=\xE8\xBF\x99\xE9\x87\x8C

 net.bagualu.dp:http/                 column=il:http://www.bagualu.net/wordpress/page/3, timestamp=1426073177614, value=\xE8\xBF\x99\xE9\x87\x8C

 net.bagualu.dp:http/                 column=s:s, timestamp=1426073177614, value=\x00\x00\x00\x00

1 row(s) in 0.0880 seconds

对于表中列的意义可以参考 apache-nutch-2.3/conf/gora-hbase-mapping.xml 。 也贴在这里,方便以后看

 <field name="baseUrl" family="f" qualifier="bas"/>      

 <field name="status" family="f" qualifier="st"/>        

 <field name="prevFetchTime" family="f" qualifier="pts"/>        

 <field name="fetchTime" family="f" qualifier="ts"/>         

 <field name="fetchInterval" family="f" qualifier="fi"/>         

 <field name="retriesSinceFetch" family="f" qualifier="rsf"/>        

 <field name="reprUrl" family="f" qualifier="rpr"/>      

 <field name="content" family="f" qualifier="cnt"/>      

 <field name="contentType" family="f" qualifier="typ"/>      

 <field name="protocolStatus" family="f" qualifier="prot"/>      

 <field name="modifiedTime" family="f" qualifier="mod"/>         

 <field name="prevModifiedTime" family="f" qualifier="pmod"/>        

 <field name="batchId" family="f" qualifier="bid"/>      

 <!-- parse fields -->       

 <field name="title" family="p" qualifier="t"/>      

 <field name="text" family="p" qualifier="c"/>       

 <field name="parseStatus" family="p" qualifier="st"/>       

 <field name="signature" family="p" qualifier="sig"/>        

 <field name="prevSignature" family="p" qualifier="psig"/>       

 <!-- score fields -->       

 <field name="score" family="s" qualifier="s"/>      

 <field name="headers" family="h"/>      

 <field name="inlinks" family="il"/>         

 <field name="outlinks" family="ol"/>        

 <field name="metadata" family="mtdt"/>      

 <field name="markers" family="mk"/>


本文地址: http://www.bagualu.net/wordpress/archives/4186 转载请注明




发表评论

电子邮件地址不会被公开。 必填项已用*标注