Flink基础学习记录(七)Checkpoint 周期性触发保存还原现场1、source所有并发都会生成一个barrirer,存好offset。2、offset存好后,会通知source,报告大哥,offset已经保存完毕。source收到消息后,会报告给JM:报告大哥,source检查点完毕。3、当下游出现宽依赖的情况,将barrier广播下去。4、当出现宽依赖的时候,下游会接收到上游多个barrirer。5、当某个子任务的barrier未到齐时,会停下来等着。6、当属于本次checkpoint的数据到达时,计算进去。7、当下一个checkpoint的数
Flink基础学习记录(四)水位线 数据产生的时间数据真正被处理的时刻学吧你就,一学一个不吱声每个窗口是独立的新桶,不是复用一个桶。可能会同时出现多个桶。窗口并非事先创建好,而是动态创建的!!!桶2,当11来了时,才创建。触发计算 和 窗口关闭 是两个动作!!对低延迟和结果正确性做权衡。WatermarkStrategy.forMonotonousTimestamps()WatermarkStrategy.forBoundedOutOfOrderness()1、watermark代表某个算子的进度2、选并行度中最小的事件时间,作为水位线3、下
Flink基础学习记录(三)窗口 输入和输出类型相同第一条数据来时,创建窗口,创建累加器增量聚合,来一条,就会调一次add方法窗口出发计算时调用getResult输入、累加器、输出类型可以不一致提供各种上下文信息MyAgg的输入给到MyProcess函数一般窗口划分中,已经写默认的触发器和移除器了(如上图)。processingTimerTrigger举例(其中一种,上面的CountTrigger也是一种)
Flink基础学习记录(一)核心概念 JobManager是老大,TaskManager是干活的。一个作业一个jobMaster,通过分发器来启动。TaskManager包含若干个task slots。slot是资源调度最小单位,其数量限制了TaskManager能够并行处理的任务数量。
Spark调优学习记录(十四)AQE 尽可能更多地申请资源,所以当资源不太多时,适当减小executorAllocationRatio,控制申请maxExecutors。当合并和倾斜同时使用时,会先合并,再调整倾斜。
Spark调优学习记录(七)语法优化之广播Join Spark join中,如果小表足够小,可以先缓存到内存,使用Broadcast Hash join。原理是将小表聚合到driver端,再广播到各大表分区,进行join时,大表的各个分区与小表进行本地join,规避shuffle。