博客信息

JAVAEE进阶大数据之路:从搜索引擎实战到大数据学习

发布时间:『 2017-11-22 15:13』  博客类别:Hadoop/Spark  阅读(1513) 评论(0)

做JAVAEE,如何进阶大数据呢?仅仅看视频学习,而没有机会实践,学了感觉好像没学一样。

是否可以自己实现一个大数据项目增加自己的实践经验?

如果还能对外发布,那就更有成就感了。

做过Java的可以全栈实现一个项目,弄懂每一个细节,还能增加成就感。

1、如何实现一个垂直爬虫和搜索引擎?

1.1爬虫实现

①实现逻辑

鍥剧墖1.png

②网址队列

每个网站有两个爬虫

WebCrawler

首页=>N网址=>队列

队列=>网址=>N网址

PageCrawler

队列=>内容地址=>内容=>Hbase

鍥剧墖2.png

1.2 搜索引擎

①索引过程

使用Hive2Hbase组件,使Hive访问hbase的数据,Hive再映射Solr的字段,然后使用Hive

定期增量将Hbase中的数据在Solr中建索引。

鍥剧墖3.png

②查询语法

可以通过HTTP请求SOLR的查询

接口,返回的是JSON的字符串。

鍥剧墖4.png

2、如何应用Hadoop大数据组件?

2.1 日志搜集

鍥剧墖5.png

访问日志:访问日志可以统计网站PVUV

搜索日志:统计搜索词频关键词提示

2.2 实时统计

后台程序从kafka中读取请求日志,当天的实时PV读一条加1,当前的实时UV,先从

Redis中判断是否有该IP,如果没有加1,存入IP。如果有不做操作。

如果需要实现复杂一点,可以使用Storm或者Spark Streaming来实现。

鍥剧墖6.png

2.3 离线统计

eg:统计昨天或上个月的搜索词频,用于搜索推荐。

鍥剧墖7.png

3、需要多少台服务器来实现?

3.1资源情况

4核CPU,32G内存,2T机械硬盘,价值4000元左右的一台组装机

使用该机器虚拟出3台用作大数据使用,每台分配4G内存。

3.2网络拓扑

鍥剧墖9.png

关键字:   无
评论信息
暂无评论
发表评论
验证码: 
Powered by IMZHANGJIE.CN Copyright © 2015-2025 粤ICP备14056181号