做JAVAEE,如何进阶大数据呢?仅仅看视频学习,而没有机会实践,学了感觉好像没学一样。
是否可以自己实现一个大数据项目增加自己的实践经验?
如果还能对外发布,那就更有成就感了。
做过Java的可以全栈实现一个项目,弄懂每一个细节,还能增加成就感。
1、如何实现一个垂直爬虫和搜索引擎?
1.1爬虫实现
①实现逻辑
②网址队列
每个网站有两个爬虫
WebCrawler
首页=>N网址=>队列
队列=>网址=>N网址
PageCrawler
队列=>内容地址=>内容=>Hbase
1.2 搜索引擎
①索引过程
使用Hive2Hbase组件,使Hive访问hbase的数据,Hive再映射Solr的字段,然后使用Hive
定期增量将Hbase中的数据在Solr中建索引。
②查询语法
可以通过HTTP请求SOLR的查询
接口,返回的是JSON的字符串。
2、如何应用Hadoop大数据组件?
2.1 日志搜集
访问日志:访问日志可以统计网站PVUV
搜索日志:统计搜索词频关键词提示
2.2 实时统计
后台程序从kafka中读取请求日志,当天的实时PV读一条加1,当前的实时UV,先从
Redis中判断是否有该IP,如果没有加1,存入IP。如果有不做操作。
如果需要实现复杂一点,可以使用Storm或者Spark Streaming来实现。
2.3 离线统计
eg:统计昨天或上个月的搜索词频,用于搜索推荐。
3、需要多少台服务器来实现?
3.1资源情况
4核CPU,32G内存,2T机械硬盘,价值4000元左右的一台组装机
使用该机器虚拟出3台用作大数据使用,每台分配4G内存。
3.2网络拓扑