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

说明

讲师:首席架构师 李智慧

大数据平台

大数据技术应用的挑战

大数据计算的海量分布式计算方案,必然导致计算速度不是很快,即使在一个规模不太大的数据集上进行一次简单计算,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 可能会带来未来的产业革命。架构师要关注新技术,能带来的技术革命。

上层应用业务对实时数据的需求,主要包含两部分内容:1、 整体数据的实时分析。2、 AB实验效果的实时监控。这几部分数据需求,都需要进行的下钻分析支持,我们希望能够建立统一的实时OLAP数据仓库,并提供一套安全、可靠的、灵活的实时数据服务。目前每日新增的曝光日志达到几亿条记录,再细拆到AB实验更细维度时,数据量则多达上百亿记录,多维数据组合下的聚合查询要求秒级响应时间,这样的数据量也给团队带来了不小的挑战。OLAP层的技术选型,需要满足以下几点:1:数据延迟在分钟级,查询响应时间在秒级2:标准SQL交互引擎,降低使用成本3:支持join操作,方便维度增加属性信息4:流量数据可以近似去重,但订单行要精准去重5:高吞吐,每分钟数据量在千W级记录,每天数百亿条新增记录6:前端业务较多,查询并发度不能太低通过对比开源的几款实时OLAP引擎,可以发现Doris和ClickHouse能够满足上面的需求,但是ClickHouse的并发度太低是个潜在的风险,而且ClickHouse的数据导入没有事务支持,无法实现exactly once语义,对标准SQL的支持也是有限的。所以针对以上需求Doris完全能解决我们的问题,DorisDB是一个性能非常高的分布式、面向交互式查询的分布式数据库,非常的强大,随着互联网发展,数据量会越来越大,实时查询需求也会要求越来越高,DorisDB人才需求也会越来越大,越早掌握DorisDB,以后就会有更大的机遇。本程基于真实热门的互联网电商业务场景为案例讲解,具体分析指标包含:AB版本分析,下砖分析,营销分析,订单分析,终端分析等,能承载海量数据的实时分析,数据分析涵盖全端(PC、移动、小程序)应用。整个程,会带大家实践一个完整系统,大家可以根据自己的公司业务修改,既可以用到项目中去,价值是非常高的。本程包含的技术:开发工具为:IDEA、WebStormFlink1.9.0DorisDBHadoop2.7.5Hbase2.2.6Kafka2.1.0Hive2.2.0HDFS、MapReduceFlume、ZookeeperBinlog、Canal、MySQLSpringBoot2.0.8.RELEASESpringCloud Finchley.SR2Vue.js、Nodejs、Highcharts、ElementUILinux Shell编程等程亮点:1.与企业接轨、真实工业界产品2.DorisDB高性能分布式数据库3.大数据热门技术Flink4.支持ABtest版本实时监控分析5.支持下砖分析6.数据分析涵盖全端(PC、移动、小程序)应用7.主流微服务后端系统8.天级别与小时级别多时间方位分析9.数据库实时同步解决方案10.涵盖主流前端技术VUE+jQuery+Ajax+NodeJS+ElementUI11.集成SpringCloud实现统一整合方案12.互联网大数据企业热门技术栈13.支持海量数据的实时分析14.支持全端实时数据分析15.全程代码实操,提供全部代码和资料16.提供答疑和提供企业技术方案咨询企业一线架构师讲授,代码在老师的指导下企业可以复用,提供企业解决方案。  版权归作者所有,盗版将进行法律维权。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值