---------------------------------------------------
19:51提问:
1,看实现类的快捷键是啥 // 回答:ctrl + h ctrl + f12
[[百度搜索 踏踏实实练sql, 那个B站站主是某大厂数仓大佬,可加好友学习,他人很好]]
2,sink这个sql里 写 删除可以吗 delete// 回答 可以、insert delete select update 都可以
3.中邮信科-何**---想问下左哥 如果实时数据 和第二天的离线数据有差异 如何排查解决呢//答案在最后
,doris的 source和sink 官网文档由有案例
java基础可以巩固一下,面对对象这一块儿要熟悉 //
看java技巧:静态方法一定使用 . 的/// 没有静态方法 一定是new出来的
看源码的在线翻译://电脑下载网易有道软件, ctrl+shite+d 可以截图 直接翻译
------------下面为.听课笔记----------------------
看flink代码要对builder有感觉 (还有Factory)
flink1.7版本 source加了数据类型
根据你的数据,把你的数据和数据类型返回
Generator 中文翻译: 生成器
17版本的第一个参数 输入必须是long类型 第二个参数count,达到什么值停止, 第三个参数和 16版本一样作用, 生产速度 第4个参数 设置返回类型, 16版本不限制,无这个参数
tyrantlucifer发言:
FILP-27 新版本的source api
https://cwiki.apache.org/confluence/display/FLINK/FLIP-27%3A+Refactor+Source+Interface?src=contextnavpagetreemode
新版本source接口设计哲学
有兴趣的同学可以看看//
flink程序分为3部分 //source transform sink
-source阶段-----------------------------------------------------
20:28
先builder构造 返回的是个builder类, builder 类里有set 设置一些参数, 里面肯定有个build方法
kafka 消费 有offset都从 offset消费, earliest从最早消费, lastest从最晚消费 、 、flink的kafkasource默认的消费策略是 earliest
-transform阶段-----------------------------------------------------
.map 里面可以写转换加工处理
兰姆达表达式 :b -》 2b
flatMap 不管你输入啥类型数据, 都会给你拆开 一个一个输出 。
MapFunction是一进一出,因为有reture,只能返回一条
flatMap可以是一进多出 是void无reture,有个采集器给你发数据,所以一进多条输出, 是把数据拍扁了,咋拍扁的,是因为里面有的采集器, 所以 也可以 一进0出, 不OUT就不会发数据出去
RichMapFunction 富函数,继承了富函数。
运行上下文类里, 有jobId taskName 任务编号 AttempNumber 等参数
RichMapFunction 富函数,继承了富函数。 实现的东西多,能力就增加了,比MapFunction多了一些能力。
open方法 和close方法(flink程序异常了,不会调close,只有在取消程序运行的时候会调用close方法)
你撤回了一条消息
-sink阶段-----------------------------------------------------
sink的
第一个参数, 带占位符的sql
第二个参数, 给占位符填数据
第三个参数, builder类又是 设置一些参数, 比如 withMaxRetries重试次数 WithBatchSize一批次多少条 withBactchIbtervalMs 每批次间隔多少毫秒
第三个参数作用,给参数,优化性能
第四个参数, 连接的 地址 端口 用户名 密码登
等
filesink,把处理好的存文件里
basePath 文件写出路径,,,,encoder 编码(默认UTF-8)
jdbcSink 和 FileSink里的sink 不一样
kafkaSink 地址 生产者 参数 序列化器 超时时间 topic等 事务前缀和事务超时时间等
kafla的序列化器里面 设置了topic名字 以及 用的哪个schema的类(simpleStringSchema)
---
https://cwiki.apache.org/confluence/display/FLINK/FLIP-27%3A+Refactor+Source+Interface?src=contextnavpagetreemode
--------------------------
中邮信科-何:
想问下左哥 如果实时数据 和第二天的离线数据有差异 如何排查解决呢
一般为离线覆盖实时, 也看公司领导和产品经理以什么数据为准,实时漏数据很正常,数值不大也不影响
22:14
语数星球-主讲人:
对数 源头 指标口径 离线 产品经理 下游 source 转换 状态 逻辑 debug 窗口 乱序 迟到 允许数据迟到 agg reduce sink batch flush 夫林卡
语数星球-主讲人:
batch刷写策略 不一样 1.14 0 缓冲区里有就刷 default
中邮信科-何:
了解了 感谢左哥
---实时离线是否分开存
实时离线 有分开存的, 有存在一起的, 左哥公司里是分开存的
--------------------------
嵩*&agreenwoodboy
左哥,doris 中批读 的api 是啥 ? flink 中 addsink 底层是 使用2 阶段提交 实现的 exactly once 吗? 还是使用 幂等实现的 exactly once ?使用 2 阶段提交 是单独的 API 吗?
幂等有单独的api//20230618