您的每次点击如何成为数据? 谈谈互联网公司的内部数据采集

优采云 发布时间: 2020-08-07 19:18

  数据是怎么来的?

  在许多行业中,数据是手动采集的,例如医学疾病数据,环境数据和经济数据. 数据更新周期也相对较长,例如每年和每月.

  但是互联网行业是不同的. 在这个自然交通行业中,数据量巨大,并且每天的更新周期甚至很长. 通常有小时,分钟和实时秒. 现在落入表中并直接流式传输数据已为时已晚.

  最后介绍了“流计算”: 数据流的实时计算不需要存储在表中,主要是为了满足一些实时需求,例如实时监控,实时个性化推荐等待.

  无论是“流计算”还是将其存储在表中进行计算,总是会采集数据源,那么数据源在哪里?我们每天如何打开APP,浏览网页,单击,下订单,付款等,它们如何落入表格并成为数据?

  所有这些都来自称为“日志”的东西,该日志记录了发生的时间和发生的事件,即最原创的事件. 这些日志信息是数据源. 互联网公司建立了一个采集框架,可将日志转换为数据并将其存储在表中,或转换为数据流以进行流计算.

  日志的采集非常重要. 只有采集了数据,公司才能将精力投入到业务价值的挖掘中. (当然,我所谈论的是内部数据采集,*敏*感*词*之内).

  所有主要的互联网巨头都开发了自己的日志采集系统,例如Apache的chukwa,Facebook的Scribe,Cloudera的水槽和Linkedin的Kafka. 这些是当前由国内公司使用的更流行的开源日志采集框架. 360这是一个基于Scribe的日志采集系统,而Ali使用了自己的TT(TimeTunel).

  这里主要是介绍chukwa和Scribe,尝试使用简单的语言让每个人都了解他们的架构思想:

  1,楚科(Chukwa)

  chukwa是Apache的开源项目. 作为Hadoop产品之一,它使用了许多Hadoop组件(通过HDFS存储和使用MapReducec进行数据处理),从而完全继承了Hadoop的可伸缩性和稳定性.

  chukwa包括用于监视数据,分析数据和数据可视化的一系列组件. *敏*感*词*如下:

  (图片来自)

  (1)HDFS

  问题在于日志记录系统的情况恰好相反,需要高并发性和低速度才能写入大量小文件. 系统中的Agent和Collector也要满足这种支持.

  (2)什么是代理商

  (3)什么是采集器

  实际上,chukwa并不是很有效,因为它不是一个纯粹的日志采集工具,而是一个完整的数据框架,其中包括诸如数据分析,处理和可视化之类的功能. 但是,就优化目标而言,数据采集和数据分析的两个主要任务并不相同甚至矛盾. 这将影响数据采集的效率.

  许多人认为最好只采集数据并将数据分析转移到其他成熟的框架. 因此,楚科娃尚未得到广泛应用.

  2,抄写员

  Scribe是Facebook的开源日志采集系统. 其主要思想是“分布式采集,统一处理”,从各种日志源采集数据并将其存储在中央存储系统中. 框架如下:

  (Scribe体系结构,图1源自)

  (抄写员架构图2来自网络,已被入侵并删除)

  具体来说,在分布式系统中,每个节点都将部署划线服务(本地划线服务器),采集该节点的日志信息,并将其发送到划线中央服务(中央划线服务器).

  抄写员的一个重要优点是容错能力. 将节点信息发送到划线中央服务后,中央服务系统是否挂起!向上! (崩溃),我该怎么办?

  这时,本地划线器服务会将信息写入本地磁盘,并在中央服务可用时重新发送. 划线员中央服务将数据写入最终目的地. 这不是机智吗?当然,在某些特殊情况下,抄写员也会丢失数据,例如:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线