黑马贺岁Flink学习笔记
文章平均质量分 74
Flink1.12-2021黑马程序员贺岁视频学习笔记
涂作权的博客
To do what I want to do!
展开
-
25.Flink监控\什么是Metrics\Metrics分类\Flink性能优化的方法\合理调整并行度\合理调整并行度\Flink内存管理\Spark VS Flink\时间机制\容错机制等
25.Flink监控25.1.什么是Metrics25.2.Metrics分类25.2.1.Metric Types25.2.2.代码25.2.3.操作26.Flink性能优化26.1.复用对象26.2.数据倾斜26.3.异步IO26.4.合理调整并行度27.Flink内存管理28.Spark VS Flink28.1.应用场景28.2.API28.3.核心角色/流程原理28.3.1.spark28.3.2.Flink28.4.时间机制28.5.容错机制28.6.窗口原创 2022-07-09 16:50:56 · 938 阅读 · 0 评论 -
23.Flink-高级特性-新特性-Streaming Flie Sink\介绍\代码演示\Flink-高级特性-新特性-FlinkSQL整合Hive\添加依赖和jar包和配置
23.Flink-高级特性-新特性-Streaming Flie Sink23.1.介绍23.2.代码演示24.Flink-高级特性-新特性-FlinkSQL整合Hive24.1.介绍24.2.版本24.3.添加依赖和jar包和配置24.4.FlinkSQL整合Hive-CLI命令行整合24.5.FlinkSQL整合Hive-代码整合https://ci.apache.org/projects/flink/flink-docs-release-1.12/dev/connectors/stre原创 2022-07-09 16:20:42 · 649 阅读 · 0 评论 -
# 22.Flink-高级特性-新特性-异步IO\原理
https://nightlies.apache.org/flink/flink-docs-release-1.12/dev/stream/operators/asyncio.htmlAsync I/O是阿里巴巴贡献给社区的一个呼声非常高的特性,于1.12版本引入。主要目的是为了解决与外部系统交互时网络延迟成为了系统瓶颈的问题。流计算系统中经常需要与外部系统进行交互,我们通常的做法如向数据库发送用户a的查询请求,然后等待结果返回,在这之前,我们的程序无法发送用户b的查询请求。这是一种同步访问方式,如下图所示原创 2022-07-09 15:56:25 · 370 阅读 · 0 评论 -
21.Flink-高级特性-新特性-Exactly-Once\数据一致性语义分类\如何实现局部的Exactly-Once\分布式快照/Checkpoint
21.Flink-高级特性-新特性-End-to-End Exactly-Once21.1.数据一致性语义分类21.2.数据一致性语义详解21.2.1.At-most-once-最多一次21.2.2.At-least-once-至少一次21.2.3.Exactly-once-精确一次21.2.4.End-To-End Exactly-Once21.2.5.如何实现局部的Exactly-Once21.2.5.1.去重21.2.5.2.幂等21.2.5.3.分布式快照/Checkpoint原创 2022-07-09 15:36:40 · 424 阅读 · 0 评论 -
20.Flink高级特性--新特性--双流Join\join的分类\API\代码演示-WindowJoin\代码演示-IntervalJoin
20.Flink高级特性–新特性–双流Join20.1.join的分类20.2.API20.3.代码演示-WindowJoin20.4.代码演示-IntervalJoin双流Join是Flink面试的高频问题。一般情况下说明以下几点就可以hold了:Interval join也是利用state存储数据再处理,区别在于State中的数据有失效机制,依靠数据触发数据清理。目前Stream Join的结果时数据笛卡尔积;https://ci.apache.org/projects/flink/flink原创 2022-07-09 15:15:38 · 434 阅读 · 0 评论 -
19.BroadcastState-动态更新规则配置\需求\数据\代码步骤\代码实现
本文来自:Flink1.12-2021黑马程序员贺岁视频 的学习笔记19.BroadcastState-动态更新规则配置19.1.需求19.2.数据19.3.代码步骤19.4.代码实现在开发过程中,如果遇到需要下发/广播配置、规则等低吞吐事件流到下游所有task时,就可以使用Broadcast State。Broadcast State是Flink 1.5引入的新特性。下游的task接收这些配置、规则并保存为BroadcastState,将这些配置应用到另一个数据流的计算中。2)实时增加额外字段:如原创 2022-07-09 15:01:38 · 496 阅读 · 0 评论 -
18.Flink-练习-订单自动好评\数据\实现步骤\代码实现
18.Flink-练习-订单自动好评18.1.数据18.2.实现步骤18.3.代码实现需求:在电商领域会有这么一个场景,如果用户买了商品,在订单完成之后,一定时间之内没有做出评价,系统自动给与五星好评,我们今天主要使用Flink的定时器来简单实现这一功能。18.2.实现步骤18.3.代码实现输出结果:...原创 2022-07-09 14:49:31 · 524 阅读 · 0 评论 -
17.Flink--练习--双十一实时交易大屏\需求\数据\实现步骤\代码实现
本文来自:Flink1.12-2021黑马程序员贺岁视频 的学习笔记17.Flink–练习–双十一实时交易大屏17.1.需求17.2.数据17.3.实现步骤17.4.代码实现17.3.实现步骤17.4.代码实现原创 2022-07-09 14:37:31 · 930 阅读 · 0 评论 -
16.FlinkTable & SQL\为什么需要Table & SQL
16.FlinkTable & SQL16.1.为什么需要Table & SQL16.2.发展历史16.3.API16.4.核心概念16.5.案例116.6.案例216.7.案例316.8.案例4依赖https://ci.apache.org/projects/flink/flink-docs-release-1.12/dev/table/程序结构https://ci.apache.org/projects/flink/flink-docs-release-1.12/dev/table原创 2022-07-09 14:31:08 · 594 阅读 · 0 评论 -
15.容错机制、Checkpoint和State、执行流程、状态后端/存储介质、State状态后端/State存储介质、可选的状态存储方式、状态恢复和重启策略、自动重启策略和恢复、Savepoint
本文来自:Flink1.12-2021黑马程序员贺岁视频 的学习笔记15.容错机制15.1.Checkpoint15.1.1.Checkpoint和State15.1.2.Checkpoint执行流程15.1.3.状态后端/存储介质15.1.3.1.State状态后端/State存储介质15.1.3.2.可选的状态存储方式–MemoryStateBackend15.1.3.3.可选的状态存储方式–FsStateBackend15.1.3.4.可选的状态存储方式–RocksDBStateBac原创 2022-07-09 14:10:52 · 372 阅读 · 0 评论 -
14.State-理解原理即可、Flink中状态的自动管理、无状态计算和有状态计算、状态分类、Managed State & Raw State\Keyed State&Operator State
14.State-理解原理即可14.1.Flink中状态的自动管理14.2.无状态计算和有状态计算14.2.2.有状态计算,需要考虑历史值,如:sum14.2.3.状态分类14.2.4.Managed State & Raw State14.2.5.Keyed State & Operator State14.2.5.1.Keyed State & Operator State14.2.6.代码演示-ManagerState-keyState14.2.7.代码演示–ManagerState原创 2022-07-07 23:28:52 · 396 阅读 · 0 评论 -
13.Time/Watermarker、Watermaker水印机制/水位线机制、Watermaker案例演示
本文来自:Flink1.12-2021黑马程序员贺岁视频 的学习笔记13.Time/Watermarker13.1.时间分类13.2.EventTime的重要性和Watermaker的引入13.3.Watermaker详解13.3.1.Watermaker水印机制/水位线机制13.3.1.1.什么是Watermaker ?13.3.1.2.如何计算Watermaker?13.3.1.3.Watermarker有什么用?13.3.1.4.Watermaker如何触发窗口计算的?13.4.Wa原创 2022-07-07 12:34:58 · 640 阅读 · 0 评论 -
11.Flink四大基石\Window\窗口的分类\Flink提供了很多各种场景用的WindowAssigner\基于时间的滚动和滑动\基于时间的滚动和滑动窗口\基于数量的滚动和滑动
本文来自:Flink1.12-2021黑马程序员贺岁视频 的学习笔记11.Flink四大基石12.Window12.1.窗口的分类12.2.API12.2.1.window和windowAll12.2.2.API调用示例12.2.3.Flink提供了很多各种场景用的WindowAssigner12.3.代码演示–基于时间的滚动和滑动–掌握12.3.1.本地ubuntu下安装nc12.3.2.基于时间的滚动和滑动窗口12.4.代码演示-基于数量的滚动和滑动12.5.代码演示–Sessio原创 2022-07-07 00:46:02 · 348 阅读 · 0 评论 -
10.Connectors \ JDBC \ Kafka Consumer/Source \ Kafka Producer/Sink \Redis
10.Connectors10.1.JDBC10.2.Kafka Consumer/Source10.3.Kafka Producer/Sink10.4.Redis10.2.Kafka Consumer/Source参数参数设置:1.订阅的主题2.反序列化规则3.消费者属性-集群地址4.消费者属性-消费者组id(如果不设置,会有默认的,但是默认的不方便管理)5.消费者属性-offset重置规则,如earliest/latest…6.动态分区检测(当kafka的分区数变化/增加时,F原创 2022-07-07 00:10:44 · 235 阅读 · 0 评论 -
9.FLINK Sink\API\自定义sink
9.Sink9.1.API9.2.注意9.3.自定义sink1、ds.print 直接输出到控制台2、ds.printToErr()直接输出到控制台,用红色3、ds.writeAsText(“本地/HDFS的path”,WriteMode.OVERWRITE).setParallelism(1);在输出到path的时候,可以在前面设置并行度,如果并行度>1,则path为目录并行度=1,则path为文件名9.3.自定义sink需求:将FLink集合中的数据通过自定义Sink保存到MySQL原创 2022-07-07 00:00:46 · 337 阅读 · 0 评论 -
8.FLINK Transformation、基本操作、合并和连接、拆分和选择、rebalance重平衡分区、其他分区操作、API
8.Transformation8.1.基本操作8.2.合并和连接8.3.拆分和选择8.4.rebalance重平衡分区8.5.其他分区操作8.5.1.API和之前学习的Scala/Spark里面的一样的意思。需求对流数据中的单词进行统计,排除敏感词TMD(Theater Missile Defense 战区导弹防御)8.2.合并和连接8.3.拆分和选择Split就是将一个流分成多个流Select就是获取分流后对应的数据注意:split函数已过期并移除Side Outputs:原创 2022-07-06 23:56:18 · 496 阅读 · 0 评论 -
7.FLINK Source\基于集合\基于文件\基于Socket\自定义Source--随机订单数量\自定义Source\自定义Source-MySQL
7.Source7.1.基于集合7.2.基于文件7.3.基于Socket7.4.自定义Source–随机订单数量7.4.1.自定义Source7.5.自定义Source-MySQL基于集合的Source一般用于学习测试时编造数据时使用。env.fromElements(可变参数);env.fromCollection(各种集合);env.generateSequence(开始,结束);env.fromSequence(开始,结束);7.2.基于文件一般用于学习测试时编造数据时使用原创 2022-07-06 21:09:08 · 327 阅读 · 0 评论 -
6.流处理说明\流计算与批计算对比\数据时效性不同\数据特征不同\应用场景不同\应用场景不同\运行方式不同
6.流处理说明6.1.流计算与批计算对比6.1.1.数据时效性不同6.1.2.数据特征不同6.1.3.应用场景不同6.1.4.运行方式不同有边界的流bounded stream:批数据无边界的流unbounded stream:真正的流数据流式计算实时、低延迟、批量计算非实时、高延时。流式计算的数据一般是动态的、没有边界的,而批处理的数据一般则是静态数据。流式计算应用在实时场景,时效性要求比较高的场景,如实时推荐、业务监控…批处理应用在实时性要求不高、离线计算的场景下,数据分析、离线报表等。流原创 2022-07-06 20:54:53 · 523 阅读 · 0 评论 -
5.Flink原理初探\角色分工\执行流程图生成\DataFlow,Operator,Partition,Parallelism,SubTask\OperatorChain和Task\任务槽\槽共享
本文来自:Flink1.12-2021黑马程序员贺岁视频 的学习笔记5.Flink原理初探5.1.角色分工5.2.执行流程5.3.DataFlow5.3.1.DataFlow、Operator、Partition、Parallelism、SubTask5.3.2.OperatorChain和Task5.3.3.TaskSlot和TaskSlotSharing5.3.3.1.任务槽(TaskSlot)5.3.3.2.槽共享(Slot Sharing)5.4.执行流程图生成A: Dataflo原创 2022-07-06 20:49:35 · 245 阅读 · 0 评论 -
4.Flink入门案例、前置说明、准备环境、代码实现-DataSet-了解、DataStream--匿名内部类--处理批、DataStream-匿名内部类-处理流、Lambda、On-Yarn-掌握
本文来自:Flink1.12-2021黑马程序员贺岁视频 的学习笔记4.Flink入门案例4.1.前置说明4.2.准备环境4.3.代码实现-DataSet-了解4.4.代码实现–DataStream–匿名内部类–处理批4.5.代码实现-DataStream-匿名内部类-处理流4.6.代码实现-DataStream-Lambda4.7.代码实现-On-Yarn-掌握4.8.打包改名上传1.ApiFlink提供了多个层次的API供开发者使用,越往上抽象程度越高,使用起来越方便;越往下越底层,原创 2022-07-06 20:30:59 · 224 阅读 · 0 评论 -
3.Flink-On-Yarn开发使用\原理\Session会话模式\Per-Job模式
本文来自:Flink1.12-2021黑马程序员贺岁视频3.Flink-On-Yarn开发使用3.1.原理3.2.两种模式3.2.1.Session会话模式3.2.2.Per-Job模式3.3.操作3.4.测试3.4.1.Session会话模式3.4.2.PerJob模式为什么使用flink on yarn ?在实际开发中,使用Flink时,更多的使用方式是Flink On Yarn模式,原因如下:具体步骤:准备Flink程序jar和配置0:提交1:上传任务/依赖jar,配置到hdf原创 2022-07-06 20:10:55 · 1658 阅读 · 0 评论 -
2.Flink安装部署\Local本地模式-了解\Standalone独立集群模式\Standalone-HA高可用集群模式(原理|操作|测试)
2.Flink安装部署2.1.Local本地模式-了解2.1.1.原理2.1.2.操作2.1.3.测试2.2.Standalone独立集群模式2.2.1.原理2.2.2.操作2.2.3.测试2.3.Standalone-HA高可用集群模式2.3.1.原理2.3.2.操作2.3.3.测试1、Flink程序由JobClient进行提交。2、JobClient将作业提交给JobManager3、JobManager负责协调资源分配和作业执行。资源分配完成后,任务将提交给相应的TaskM原创 2022-07-06 00:41:20 · 769 阅读 · 0 评论 -
1.Flink介绍\发展历史\官方介绍\组件栈\应用场景
本文来自:Flink1.12-2021黑马程序员贺岁视频1.Flink介绍1.1.发展历史1.2.官方介绍1.3.组件栈1.4.应用场景在1.12版本中DataSetAPI已经淘汰,DataStream支持流批一体开发。所有的流式计算原创 2022-07-06 00:22:52 · 405 阅读 · 0 评论