论坛首页 Java企业应用论坛

对抓取回来的海量原始网页存储结构设计

浏览 18621 次
精华帖 (3) :: 良好帖 (1) :: 新手帖 (1) :: 隐藏帖 (3)
作者 正文
   发表时间:2009-09-16  
lovejuan1314 写道
数据量很大的话,可以考虑Hypertable,稳定性和效率上会很好.

同样hypertable可以建立在hadoop集群上,

表的设计使用反向域名作为row key作大表.

在对抓回来的信息索引和分析的过程将会是重点,也是难点. 可以定制不同的M/R任务来做.


谢谢,这种方式应该不错
0 请登录后投票
   发表时间:2009-09-16  
我觉的用文件的方式,外接硬盘。
0 请登录后投票
   发表时间:2009-09-16  
Hbase安装和使用都很简单,读写性能也不错,就是太吃内存。
hypertable的编译和安装很麻烦,尤其是需要部署到多台机器的时候。

数据量不大的话,文件系统+关系数据库性能会更好。
按一定命名规则保存到文件系统,数据库保存文件名和网址的映射。


tangmi 写道
lovejuan1314 写道
数据量很大的话,可以考虑Hypertable,稳定性和效率上会很好.

同样hypertable可以建立在hadoop集群上,

表的设计使用反向域名作为row key作大表.

在对抓回来的信息索引和分析的过程将会是重点,也是难点. 可以定制不同的M/R任务来做.


谢谢,这种方式应该不错

0 请登录后投票
   发表时间:2009-09-16  
fanzy618 写道
Hbase安装和使用都很简单,读写性能也不错,就是太吃内存。
hypertable的编译和安装很麻烦,尤其是需要部署到多台机器的时候。

数据量不大的话,文件系统+关系数据库性能会更好。
按一定命名规则保存到文件系统,数据库保存文件名和网址的映射。


tangmi 写道
lovejuan1314 写道
数据量很大的话,可以考虑Hypertable,稳定性和效率上会很好.

同样hypertable可以建立在hadoop集群上,

表的设计使用反向域名作为row key作大表.

在对抓回来的信息索引和分析的过程将会是重点,也是难点. 可以定制不同的M/R任务来做.


谢谢,这种方式应该不错



恩, Hypertable在配置上确实比较麻烦,而且仿SQL的HQL语言也相对少很多. 我看重的主要是它在大数据量优越的读写速度以及稳定性.

HBASE和Hadoop融合起来比较容易些,而且支持的相对多一些,但是它在应付大数据量的情况下还是容易被crash. 虽然构建于hdfs上的结点有容错功能,但还是比较担心数据的丢失,尤其在master出问题的时候. ;-)

0 请登录后投票
   发表时间:2009-09-16   最后修改:2009-09-16
lovejuan1314 写道
fanzy618 写道
Hbase安装和使用都很简单,读写性能也不错,就是太吃内存。
hypertable的编译和安装很麻烦,尤其是需要部署到多台机器的时候。

数据量不大的话,文件系统+关系数据库性能会更好。
按一定命名规则保存到文件系统,数据库保存文件名和网址的映射。


tangmi 写道
lovejuan1314 写道
数据量很大的话,可以考虑Hypertable,稳定性和效率上会很好.

同样hypertable可以建立在hadoop集群上,

表的设计使用反向域名作为row key作大表.

在对抓回来的信息索引和分析的过程将会是重点,也是难点. 可以定制不同的M/R任务来做.


谢谢,这种方式应该不错



恩, Hypertable在配置上确实比较麻烦,而且仿SQL的HQL语言也相对少很多. 我看重的主要是它在大数据量优越的读写速度以及稳定性.

HBASE和Hadoop融合起来比较容易些,而且支持的相对多一些,但是它在应付大数据量的情况下还是容易被crash. 虽然构建于hdfs上的结点有容错功能,但还是比较担心数据的丢失,尤其在master出问题的时候. ;-)

hadoop的append是个问题,0.19的append半死不活,另外用这种东西lz要考虑好hadoop的HA比如是Namenode HA方案,没有HA的集群只是玩具。
0 请登录后投票
   发表时间:2009-09-17  
用文件的方式存入硬盘,相关数据存入数据库。
0 请登录后投票
   发表时间:2009-09-17  
存入硬盘,硬盘消耗量太大,我最近就已经感觉到这个问题很严重了。

每天抓回来的东西很多啊。
0 请登录后投票
   发表时间:2009-09-17  
我也在搞爬虫收集一些公司所需要的特定数据
一开始用MYSQL关系型数据库存储,后来发现不太实际
第一  网页中的数据往往不是按照我们的字段来设计的
第二  数据量变大后,即使有索引也会有明显的速度下降

最后考虑的是关系型数据库+无模式型数据库结合存储的思路
我用的是MYSQL+MONGODB来存储
MYSQL中记录原始网页的路径
MONGODB中存储网页收集回来的我们所需要的数据
不知道谁这样联合使用过,因为还需要进一步实验,希望有经验的可以给予一定的指点。
同时也给大家开拓个思路吧。。。
0 请登录后投票
   发表时间:2009-11-11  

我今年毕业,目前正在做抓取方面的工作,就是用nekohtml解析页面内容,并替换里面的各种路径

目前字符编码以及js中的路径问题都没能解决好

 

字符编码我是这样处理的

connection = (HttpURLConnection)new URL(url).openConnection();

BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream(),encode));

 

字符还是存在乱码

更不好搞的就是那个JS中路径问题了的

用正则都不能准确的查找替换的

 

所以还望多多指教

0 请登录后投票
   发表时间:2009-11-22  
生成相应的xml,直接用xpath解析。我们目前是这样做的。不知大家还有什么好的建议!
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics