写点什么

极客大学架构师训练营 大数据平台、Sqoop、Canal、Flume、物联网平台 第 27 课 听课总结

用户头像
John(易筋)
关注
发布于: 2020 年 09 月 10 日

说明

讲师:首席架构师 李智慧



大数据平台



大数据技术应用的挑战

大数据计算的海量分布式计算方案,必然导致计算速度不是很快,即使在一个规模不太大的数据集上进行一次简单计算,MapReduce 也可能需要几分钟,Spark 快一点,也至少需要数秒的时间。



互联网产品处理用户请求,通常需要毫秒级的响应,也就是说,要在 1 秒内完成计算,大数据计算必然不能实现这样的响应要求。但是互联网应用又需要使用大数据,实现统计分析、数据挖掘、关联推荐、用户画像等一系列功能。



那么如何才能弥补互联网和大数据之间的差异呢?



大数据平台架构

蓝色部分归属于大数据平台范围。



大数据处理流程:

  1. App、浏览器的用户数据、日志、打点采集的数据、爬虫的数据存储到数据库;

  2. 数据同步系统,比如消息队列导入到大数据存储系统 HDFS;

  3. 大数据计算, 通过 MapReduce, Spark, Hive计算,结果还是写到 HDFS 里面;实时流大数据处理 Stomr, Spark Streaming, Flink;

  4. 数据同步系统,导出数据到 数据库。实时流大数据流,可以订阅结果,实时输出分析报表,进行活动方案调整,比如双十一当天活动。

  5. 应用把结果导出报表,看看应用的bug在哪里,通知开发人员去解决;

  6. 数据监控把结果导出报表,看看业务是否有什么异常,如果有就要采取相应的策略;

  7. 运营决策把结果导出报表,看看运营策略效果如何,进行运行活动调整。



纠错: 数据处理层的批量数据同步,的头应该从 大数据存储(HDFS) 指出。



数据采集与导入

将应用程序产生的数据和日志等同步到大数据系统中,由于数据源不同,这里的数据同步系统实际上是多个相关系统的组合。数据库同步通常用 Sqoop,日志同步可以选择 Flume,打点采集的数据经过格式化转换后通过 Kafka 等消息队列进行传递。



不同的数据源产生的数据质量可能差别很大,数据库中的数据也许可以直接导入大数据系统就可以使用了,而日志和爬虫产生的数据就需要进行大量的清洗、转化处理才能有效使用。



用 Sqoop 导入导出数据库数据

批处理用 Sqoop



用 Canal 实时导入 MySQL 数据

处理 MySQL 数据,可以一条一条实时同步数据。

原理: Canal 把自己伪装为 MySQL的 Slave。



用 Flume 从日志导入数据

Flume 级联部署



Flume 分布式部署

前端埋点采集数据

  • 核心数据: 用户增加、流失等,实时上报;

  • 实时数据:用户操作数据,实时上报;

  • 离线数据:非核心数据,存储到手机本地,当连接 WiFi的情况下才上传;



网络爬虫收集外部数据

爬虫一般是爬取竞争对手,或者政府机构的数据。

重点是如何突破竞争对手的反爬虫系统。



数据输出与展示

大数据计算产生的数据还是写入到 HDFS 中,但应用程序不可能到 HDFS 中读取数据,所以必须要将 HDFS 中的数据导出到数据库中。数据同步导出相对比较容易,计算产生的数据都比较规范,稍作处理就可以用 Sqoop 之类的系统导出到数据库。



这时,应用程序就可以直接访问数据库中的数据,实时展示给用户,比如展示给用户关联推荐的产品。淘宝卖家的量子魔方之类的产品,其数据都来自大数据计算产生。



除了给用户访问提供数据,大数据还需要给运营和决策层提供各种统计报告,这些数据也写入数据库,被相应的后台运营和管理人员访问,查看数据报表,看业务是否正常。



大数据平台 Lamda 架构原型

淘宝大数据平台



淘宝大数据平台导入导出数据



美团大数据平台

  • 数据源:Kafka消息队列之前,竞争对手抓取平台;

  • 实时数据处理: Storm 流式计算;

  • 离线数据处理: Camus 日志导出的中间那块;

  • 大数据引擎的结果:DM DB,HBASE;

  • 存储结果:查询中心;

  • 调度系统:上面的流程由调度系统协调。



嘀嘀实时大数据平台



物联网平台



物联网架构



物联网大数据平台



总结

5G 在物联网应用会特别大,因为数据量特别大,可能带来的产值会跟互联网是同一个数量级的。5G 可能会带来未来的产业革命。架构师要关注新技术,能带来的技术革命。



发布于: 2020 年 09 月 10 日阅读数: 93
用户头像

John(易筋)

关注

问渠那得清如许?为有源头活水来 2018.07.17 加入

工作10+年,架构师,曾经阿里巴巴资深无线开发,汇丰银行架构师/专家。开发过日活过亿的淘宝Taobao App,擅长架构、算法、数据结构、设计模式、iOS、Java Spring Boot。易筋为阿里巴巴花名。

评论

发布
暂无评论
极客大学架构师训练营 大数据平台、Sqoop、Canal、Flume、物联网平台  第27课 听课总结