码迷,mamicode.com
首页 > 其他好文 > 详细

爬虫代码实现四:采用Hbase存储爬虫数据(1)

时间:2017-01-13 22:29:14      阅读:531      评论:0      收藏:0      [点我收藏+]

标签:version   com   输入   shell   电视剧   爬取   时间戳   使用   image   

 

3.Hbase表设计:

1.窄表:列少行多,表中的每一行尽可能保持唯一。

2.宽表:列多行少,通过时间戳版本来进行区分取值。

技术分享

窄表:比如说,这个表,rowkey由userid+时间+bbsid假设bbsid为回帖的id。那么,对于同一个用于1001,假设我们需要查询1001用户某一天的数据,使用窄表,我们需要查询1001用户所有天数的rowkey数据,然后再一条条对比,最后找到我们需要查找的天数的数据。那如果是365天,我就是要查找第365天,一条条对比,这样效率很低。

技术分享

那么,本项目该如何来设计Hbase表呢?

点击优酷的不同电视剧,发现url如下:

技术分享

技术分享

因此,我们可以采用网站来源+电视剧id作为rowkey,需要爬取的字段信息存于列簇,那么我们如何获取这些列字段比如一天24小时对应的值呢?

这里我们创建Hbase表,设置多个版本,create ‘tvcount‘,{NAME=>‘tvinfo‘,VERSIONS=>30},这样对于同一个列,我们是存了多个时间段的相应的值,而不仅仅是一条。

 具体操作:

1.首先打开hbase环境:

技术分享

2.再输入$ clear

技术分享

3.进入hbase shell命令:

技术分享

4.查询list看有没有这个表

技术分享

技术分享

好像目前没有这个表任何信息

5.因此,这里需要创建一个表来存储优酷的电视剧的信息。创建tvcount表,列簇是tvinfo,记录30天的数据

技术分享

6.再查list,发现有这个表了

技术分享

7.查看下这个表

技术分享

现在,我们这个表已经是创建成功了。

 

爬虫代码实现四:采用Hbase存储爬虫数据(1)

标签:version   com   输入   shell   电视剧   爬取   时间戳   使用   image   

原文地址:http://www.cnblogs.com/lchzls/p/6284093.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!