大型分布式网站架构设计与实践阅读笔记
本次主要阅读了第五章,第五章介绍如何对海量数据进行分析,包括数据的采集、离线数据分析、流式数据分析、不同数据源间的数据同步和数据报表等。
对于在线运行的系统来说,每天都会产生大量日志信息,在进行数据分析之前,必须先对各个运行系统上的日志进行收集。再将收集好的数据发送到统一的系统进行分析和处理,筛选出有价值的内容,进行可视化展现。
大数据平台Hadoop主要集中在大数据离线批处理分析领域,而对于数据量不太大以及实时性要求很高的数据分析场景下则效果不太理想。离线数据分析的结果可以通过数据回流,重新存储到关系型数据库中,提供在线的实时查询服务,如好友推荐、商品推荐等。与离线数据不同的时,流式数据是实时的,数据的价值随着时间的流逝而降低,因此需要实时地处理。
直接对线上存储系统进行数据分析会影响系统运行的稳定性。因此需要把数据采集到大数据平台中进行加工处理,这个过程也即所谓的ETL(数据抽取,清洗,转换,装载)过程。然后对于处理完毕的数据,有时候也并不能或不适合在大数据平台的相关服务中直接使用,而是要反馈回线上的业务系统中,这个过程称为数据的回写或导出。数据同步就是指数据在不同系统组件之间的导入导出工作。比如将DB的数据采集到Hive中,将Hive中的数据导出给HBase等等。离线数据同步工具有Sqoop,DataX等。Sqoop是用得比较多的工具,整体框架以Hadoop为核心。DataX是阿里开源的一款插件式,以通用的异构数据交换为目标的产品。
参考链接:https://blog.csdn.net/xiaoyi52/article/details/83589212?locationNum=5&fps=1