【实时计算】Spark批处理流程图解 + 深入剖析

【实时计算】Spark批处理流程图解 + 深入剖析,第1张

【实时计算】Spark批处理流程图解 + 深入剖析 图解

巨恐怖的问题

搞懂这些问题 == spark批处理(入门)【狗头】

– 什么是实时计算
– 衡量标准
– 举例几个用到实时计算的例子
– 实时计算有哪几种实现技术
– 单台计算的压力在哪儿
– 实时计算的架构
1、采集阶段
1.1 业务数据如何采集?
1.2 业务数据如何确保不丢失数据?
1.3 日志采集为什么会这样设计?不会丢失数据吗?如果考虑到丢数据的情况怎么设计
1.4 为什么要选择kafka来存放数据?别的框架可以吗?
1.5 既然是实时计算,为什么不直接拿数据进行计算呢?
1.6 为什么会有一个全量导入的过程?
1.7 canal再这里的作用?是否有其他可以替代
1.8 数据在kafka里面格式?
1.9 采集过程种还有哪些要注意的点?
1.10 kafka数据保留的时间?

2、实时计算
2.1 主流的计算方式?
2.2 为什么不直接计算出结果?还需要采用分层的结构?
ODS-》DWD
2.3 从ODS层到DWD层,不同的数据是如何处理的?
2.4 作为kafka的消费者和生产者,是如何保证不丢失数据的呢?
2.5 作为kafka的消费者和生产者,是如何保证不重复数据的呢?
2.6 redis在这里的作用?有其他组件可以替代吗?
2.7 不同场景下,组件的选择
2.8 redis在这里的优点和缺点?
2.9 如果redis崩了,数据会丢失吗?
2.10 如果redis崩了,数据会重复吗?
2.11 如果程序崩了,数据会丢失吗?
2.12 如果程序崩了,数据会重复吗?
2.13 如果kafka某个节点崩了,数据会重复吗?
2.14 如果kafka某个节点崩了,数据会丢失吗?
2.15 如果redis崩了,是如何处理的?
2.16 如何提高这部分的运行效率?举例说明
2.17 能承受的最大计算量跟什么相关?
2.18 运行效率跟什么相关?
2.19 这部分有哪些可以优化的点?
2.20 kafka作为DWD层的存储介质,存储了什么主题?跟什么相关?
kafka-》程序-》kafka能否保证消息有序?
DWD-》DWS
2.21 数据已经到了DWD,后续为什么不直接放到OLAP种分析?
2.22 这当中程序起到了什么作用?跟什么相关?
2.23 根据业务如何设计这部分程序?
2.24 为什么要写入ES,这部分不能直接处理吗?
2.25 针对两个业务,分别做了哪些 *** 作?
存储的时序问题?
kafka-》程序-》redis,能否保证消息有序
2.26 这部分需要考虑什么样的问题?
2.27 数据丢失的情况?
2.28 数据重复的情况?
2.29 程序崩了,重启是否会对业务产生影响?
2.30 这个阶段redis的作用,能否替换成其他的?
2.31 写入ES的时候会不会有数据丢失?采取的策略是什么?
2.32 写入ES的时候会不会有数据重复?采取的策略是什么?
2.33 如何进行的维度拼接?
2.34 维度拼接可能产生的问题?
2.35 为什么要采用双流join?
2.36 双流join是如何实现的?
2.37 双流join是否存在数据丢失的情况?如何避免?
2.38 双流join是否存在数据重复的情况?如何避免?
2.39 双流join采用缓存策略时,如何选择组件?
2.40 双流jon种还有哪些注意事项?
2.41 写入ES时,如何确保数据精确一次?
2.42 在写入ES时发生了故障,已经提交到redis记录的用户的数据会不会丢失,如何处理的?
2.43 处理的细节?
2.44 如何规划数据在ES的存储?
2.45 数据存储到ES后,实时计算结束了吗?

3、即席查询
3.1 为什么选择OLAP作为流处理的最后一层
3.2 OLAP的选择,除ES还有其他选择吗?
3.3 简述以下ES的结构?特点(倒排索引)列式存储?
3.4 ES存储的数据是什么?有什么特点?
3.5 即席查询的意义?
3.6 ES作为即席查询的存储层,负责哪些工作?
3.7 BI工具和可视化工具的区别?
3.8 举例几个统计的指标,ES具体是怎么实现的?
3.9 es读过程
3.10 es的写过程
3.11 es的段合并过程?
3.12 es文档的修改和并发控制
3.13 es默认分词和中文分词的区别?
3.14 es的搜索流程?

– 进阶
spark种的数据倾斜怎么处理?
spark的shuffle过程?
Spark有哪些聚合类的算子,我们应该尽量避免什么类型的算子?
spark on yarn 作业执行流程,yarn-client 和 yarn cluster 有什么区别
Spark为什么快,Spark SQL 一定比 Hive 快吗
spark是流处理吗?
RDD, DAG, Stage怎么理解?
RDD 如何通过记录更新的方式容错
宽依赖、窄依赖怎么理解?
Job 和 Task 怎么理解
Spark 血统的概念
Spark 粗粒度和细粒度
Transformation和action是什么?区别?举几个常用方法
Spark作业提交流程是怎么样的
简单描述缓存cache、persist和checkpoint的区别
描述repartition和coalesce的关系与区别
Spark中的广播变量与累加器

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5680895.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存