前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >你的上网行为就这样被采集走了

你的上网行为就这样被采集走了

作者头像
希望的田野
发布2019-12-24 17:09:22
7910
发布2019-12-24 17:09:22
举报
文章被收录于专栏:信息化漫谈
也许您好奇为什么购物网站可以向您推荐你希望买的商品,而是仅仅是浏览了类似的商品,幕后一定有“一双眼睛”正在分析你的上网行为。我们来揭开第一幕,您的浏览商品的数据如何被采集?而采集的主要工具是flume

哪些数据会被采集

1、被采集的数据主要是网页跳转数据:比如你从哪个网页跳转入该购物网站、你点击了哪些商品页面、在商品页面上停留了多少时间。

2、这些数据都保存在web应用服务器的log文件中:有用过iis、apache的同学,会通过log日志分析访问者的区域来源,实际该log文件有很多可以分析的数据。

这些数据如何被采集

1、存放在web应用服务器的数据被定时采集至hadoop中进行冷数据存储。通过flume定时监控web服务器中的目录文件,一旦发生变化,flume将数据传输至hdfs,作为非实时数据分析的基础。这样,我们可以根据数据分析的结果向你推送你关心的商品页面。

2、同时被放入kafka、storm进行流式数据分析。如果管理者需要看到全国不同省的访问热度,我们同时将Flume的数据送一份至kafka中,作为热数据分析源数据。

数据采集工具的神奇

提到大数据,一定会有一个组件flume会出现,否则数据无来源。flume有几个关键的特性,作为面试的经常问答题。

1、flume有几个组件:source、channel、sink。source指定数据采集源,一般源头:netcat(网络流)、exec(文件)等。channel配置拦截器等最重要的配置。sink配置下游的数据,下游一般是hdfs、kafka等载体。

采集telnet数据的flume配置举例:

2、channel有几种承载方式:内存承载、文件承载,如果是内存方式,flume服务器一旦断电,采集的数据会丢失,但这种丢失大部分场景结果可控,建议建议内存承载,提高效率。

3、source中有几种方法:toPut、PutList、toCommit、RollBack,是标准的一个java类中的方法。具体连续的数据流程。

做一个flume测试

我通过单虚拟机搭建了一个flume采集telnet数据的案例,一起看一下。其实flume也只是一个应用程序,基于hadoop的一些组件,发挥数据采集的作用。

1、通过telnet本地,发送测试数据

2、flume成功接收到数据,并送到控制台

flume的其它应用场景

flume除了简单的一个source、一个sink点对点的关系应用场景,还有两种重要的应用场景。

1、多source至单sink。这种应用场景主要是针对多台web应用服务器需要写入同一个hdfs等下游数据。这种配置的好处是如果hdfs的配置发生变化,只需要变化一个agent的配置即可。

2、单source至多sink。这种应用场景主要是针对同一个数据源有不同的数据消费端。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 信息化漫谈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档