首页 > 代码库 > 爬虫代码实现四:采用Hbase存储爬虫数据(1)
爬虫代码实现四:采用Hbase存储爬虫数据(1)
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)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。