请选择 进入手机版 | 继续访问电脑版

Flink 学习 (三)

[复制链接]
丁翼 发表于 2021-1-2 18:58:33 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
文章目次



精选口试题
Flink 相比 SparkStreaming 有什么区别? 多角度问答
  
   架构模子
  
Spark Streaming 在运行时的主要脚色包罗:Master、Worker、Driver、Executor
Flink 在运行时主要包罗:Jobmanager、Taskmanager、 Client 、Slot。
  
   任务调治
  
Spark Streaming 一连不绝的生成微小的数据批次,构建有向无环图 DAG,Spark Streaming 会依次创
建 DStreamGraph、JobGenerator、JobScheduler。
Flink 根据用户提交的代码生成 StreamGraph,颠末优化生成 JobGraph,然后提交给 JobManager 进
行处置惩罚,JobManager 会根据 JobGraph 生成 ExecutionGraph,ExecutionGraph 是 Flink 调治最焦点
的数据布局,JobManager 根据 ExecutionGraph 对 Job 举行调治。
  
   时间机制
  
Spark Streaming 支持的时间机制有限,只支持处置惩罚时间。
Flink 支持了流处置惩罚步伐在时间上的三个界说:处置惩罚时间、事件时间、注入时间。同时也支持
watermark 机制来处置惩罚滞后数据。
  
   容错机制
  
对于 Spark Streaming 任务,我们可以设置 checkpoint,然后如果发生故障并重启,我们可以从上次
checkpoint 之处规复,但是这个行为只能使得数据不丢失,大概会重复处置惩罚,不能做到恰一次处置惩罚语
义,如果我们想要实现Exactly-once,需要自己实现。
Flink 内部提供了Exactly-once实现,使用起来较为方便
Flink 对 日志数据举行实时 ETL

原始数据颠末码表对照后替换 area 的值。

读 Kafka 数据 new SimpleStringSchema 帮我们实现了序列化

90% 情况下 kafka
exactly once 一条不重复,一条也不丢




幂等性 多次发送辨别重复 如 HBase Rowkey 不怕
Redis HBase 通过设计可以支持 exactly once
那么 kafka 是通过事物来做的 Exactly once
Kafka 0.11 以前会出现 checkpoint save 两个分开

0.11 后 2 阶段提交 实现 exactly once

1 两阶段提交焦点设计

2 大数据去重普适架构

3 Flink 整合 Redis HBase exactly once

4 Kafka exactly once

5 SQL on Stream 平台架构

通过幂等性实现仅一次语义

写 Kafka 包管 Exactly once
两阶段提交 预提交 提交

在分布式系统中,可以使用两阶段提交实现事物一致性
1 协调者会送预提交下令所有者
2 执行者执行预提交,然后发送一条反馈 ack 消息给协调者
3 待协调者收到所有执行者的乐成反馈,则会发一条提交信息 commit 给执行者
4 执行者执行提交操纵
如果在预提交部分失败,则协调者收到反馈,协调者发送 rollback 消息给所有执行者,执行回滚操纵。
如果 4 出现问题会造成数据不一致
DAU / UV

千亿级别 比如 set 数据会到达 50G

单 hash 函数

双 hash 函数
数据对 hash1 函数盘算后 在盘算 hash2 函数增加准确度 淘汰 hash 碰撞


来源:https://blog.csdn.net/cs261244787/article/details/111225560
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题

专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )