Flink
Flink相关知识
故明所以
清心、静思、实干、寡言。
展开
-
Flink执行jar报错:java.io.IOException: Error opening the Input Split file 或者 java.io.FileNotFoundExceptio
Flink执行jar报错:java.io.IOException: Error opening the Input Split file 或者 java.io.FileNotFoundExceptio原创 2022-05-10 22:23:08 · 1454 阅读 · 1 评论 -
Flink常见面试题总结(全是干货哦!!!)
Flink常见面试题总结1、面试题一:应用架构2、面试题二:压测和监控3、面试题三:为什么用 Flink4、面试题四:checkpoint 的存储5、面试题五:exactly-once 的保证6、面试题六:状态机制7、面试题七:海量 key 去重8、面试题八:checkpoint 与 spark 比较9、面试题九:watermark 机制10、面试题十:exactly-once 如何实现11、面试题十一:CEP12、面试题十二:三种时间语义13、面试题十三:数据高峰的处理更多关于Flink的详细内容请查原创 2020-09-20 10:58:01 · 7970 阅读 · 2 评论 -
Flink之Flink CEP 复杂事件处理简介
Flink CEP 复杂事件处理简介一、什么是复杂事件处理 CEP二、Flink CEP2.1 Event Streams2.2 Pattern API2.3 Pattern 检测2.4 select2.5 flatSelect2.6 超时事件的处理一、什么是复杂事件处理 CEP一个或多个由简单事件构成的事件流通过一定的规则匹配,然后输出用户想得到的数据,满足规则的复杂事件。特征:目标:从有序的简单事件流中发现一些高阶特征输入:一个或多个由简单事件构成的事件流处理:识别简单事件之间的内在联系,原创 2020-09-20 10:32:25 · 1600 阅读 · 0 评论 -
Flink之Table API 与 SQL
Table API 与 SQL一、需要引入的 pom 依赖二、简单了解 TableAPI2.1 动态表2.2 字段三、Table API 的窗口聚合操作3.1 通过一个例子了解 TableAPI3.2 关于 group by3.3 关于时间窗口四、SQL 如何编写Table API 是流处理和批处理通用的关系型 API,Table API 可以基于流输入或者批输入来运行而不需要进行任何修改。Table API 是 SQL 语言的超集并专门为 Apache Flink 设计的,Table API 是 Sca原创 2020-09-20 10:17:11 · 1335 阅读 · 0 评论 -
Flink之状态编程和容错机制
状态编程和容错机制一、有状态的算子和应用程序1.1 算子状态(operator state)1.2 键控状态(keyed state)二、状态一致性2.1 一致性级别2.2 端到端(end-to-end)状态一致性三、检查点(checkpoint)3.1 Flink 的检查点算法3.2 Flink+Kafka 如何实现端到端的 exactly-once 语义四、选择一个状态后端(state backend)流式计算分为无状态和有状态两种情况。无状态的计算观察每个独立事件,并根据最后一个事件输出结果。例如,原创 2020-09-20 09:47:14 · 1561 阅读 · 1 评论 -
Flink之ProcessFunction API(底层 API)
ProcessFunction API一、KeyedProcessFunction二、TimerService 和 定时器(Timers)三、侧输出流(SideOutput)四、CoProcessFunction我们之前学习的转换算子是无法访问事件的时间戳信息和水位线信息的。而这在一些应用场景下,极为重要。例如 MapFunction 这样的 map 转换算子就无法访问时间戳或者当前事件的事件时间。基于此,DataStream API 提供了一系列的 Low-Level 转换算子。可以访问时间戳、wat原创 2020-09-20 08:49:28 · 1259 阅读 · 0 评论 -
什么是流式计算?
一、流式计算的背景在日常生活中,我们通常会把数据存储在一张表中,然后再进行加工、分析,这里就涉及到一个时效性的问题。如果我们处理以年、月为单位的级别的数据,那么数据的时效性要求并不高;但如果我们处理的是以天、小时,甚至分钟为单位的数据,那么对数据的时效性要求就比较高。在第二种场景下,如果我们仍旧采用传统的数据处理方式,统一收集数据,存储到数据库中,之后在进行分析,就可能无法满足时效性的要求。二、流式计算与批量计算大数据的计算模式主要分为:批量计算(batch computing)流式计算(str原创 2020-06-02 21:49:19 · 11036 阅读 · 2 评论 -
Flink和Spark Streaming流式计算模型比较分析
流式计算模型比较分析一、Spark Streaming1.1 Spark概述1.2 Spark Streaming 概述二、Flink2.1 Flink 概述2.2 Flink的基本架构三、Flink和Spark Streaming流式计算对比分析3.1 时间机制3.2 容错机制和一致性语义四、分析总结一、Spark Streaming1.1 Spark概述Spark是UC Berkeley AMP Lab开源的类似于MapReduce的通用的并行计算框架,同时兼顾分布式的并行计算模型和基于内存计算的原创 2020-05-31 23:14:04 · 1958 阅读 · 0 评论 -
流式计算之Storm概念以及架构详解
Storm概念以及架构详解一、什么是Storm?二、离线计算和流式计算2.1 离线计算2.2 流式计算2.3 Storm与Hadoop的区别三、Storm的体系结构四、Storm的运行机制五、Storm的安装配置六、启动和查看Storm七、Storm的常用命令八、Demo演示:WordCount及流程分析九、Storm的编程模型十、Storm编程案例:WordCount十一、Storm集群在ZK上保存的数据结构十二、Storm集群任务提交流程十三、Storm内部通信机制一、什么是Storm?Storm为原创 2020-05-25 15:16:25 · 2330 阅读 · 0 评论 -
Flink之EvnetTimeWindow API
EvnetTimeWindow API一、 EventTime的引入二、Watermark2.1 基本概念2.2 Watermark的引入三、EvnetTimeWindow API3.1 滚动窗口(TumblingEventTimeWindows)3.2 滑动窗口(SlidingEventTimeWindows)3.3 会话窗口(EventTimeSessionWindows)一、 EventTime的引入在Flink的流式处理中,绝大部分的业务都会使用eventTime,一般只在eventTime无法原创 2020-05-25 10:40:14 · 404 阅读 · 0 评论 -
Flink之Time与Window
Time与Window一、Time二、Window2.1 Window概述2.2 Window类型三、Window API3.1 CountWindow3.2 TimeWindow3.3 Window Reduce3.4 Window Fold3.5 Aggregation on Window一、Time在Flink的流式处理中,会涉及到时间的不同概念,如下图所示:Event Time:是事件创建的时间。它通常由事件中的时间戳描述,例如采集的日志数据中,每一条日志都会记录自己的生成时间,Flink通原创 2020-05-25 10:08:51 · 1229 阅读 · 0 评论 -
Flink DataStream API
Flink DataStream API一、Flink运行模型二、Flink程序架构三、Environment3.1 StreamExecutionEnvironment.getExecutionEnvironment3.2 StreamExecutionEnvironment.createLocalEnvironment3.3 StreamExecutionEnvironment.createRemoteEnvironment四、Source4.1 基于File的数据源4.2 基于Socket的数据源4.原创 2020-05-25 09:31:16 · 334 阅读 · 0 评论 -
Flink WordCount实例
Flink WordCount一、使用Socket传输数据二、Java代码运行WordCount三、Scala代码运行WordCount四、Flink 监控维基百科五、Wiki To Kafka六、Flink Source实战6.1 Kafka + Flink Stream + MySQL6.2 Flink Stream + Kafka一、使用Socket传输数据[root@bigdata111 flink-1.6.1]# bin/flink run examples/streaming/SocketW原创 2020-05-24 22:51:38 · 1822 阅读 · 0 评论 -
Flink运行架构详解
Flink运行架构一、任务提交流程二、任务调度原理三、Worker与Slots四、程序与数据流五、并行数据流六、task与operator chains一、任务提交流程Flink任务提交后,Client向HDFS上传Flink的Jar包和配置,之后向Yarn ResourceManager提交任务,ResourceManager分配Container资源并通知对应的NodeManager启动ApplicationMaster,ApplicationMaster启动后加载Flink的Jar包和配置构建环原创 2020-05-23 23:35:45 · 457 阅读 · 0 评论 -
Flink基本架构与集群环境搭建
一、Flink基本架构1.1 JobManager与TaskManagerFlink运行时包含了两种类型的处理器:JobManager处理器:也称之为Master,用于协调分布式执行,它们用来调度task,协调检查点,协调失败时恢复等。Flink运行时至少存在一个master处理器,如果配置高可用模式则会存在多个master处理器,它们其中有一个是leader,而其他的都是standby。TaskManager处理器:也称之为Worker,用于执行一个dataflow的task(或者特殊的subta原创 2020-05-23 12:00:47 · 861 阅读 · 0 评论 -
Flink基本理论概述
Flink一、技术演变1.1 流处理语义1.2 Flink和Storm框架对比二、差异性分析三、初识Flink四、批处理与流处理五、Flink应用场景一、技术演变1.1 流处理语义(1)At most once(最多一次):每条数据记录最多被处理一次,潜台词也表明数据会有丢失(没被处理掉)的可能。(2)At least once(最少一次):每条数据记录至少被处理一次。这个比上一点强的地方在于这里至少保证数据不会丢,至少被处理过,唯一不足之处在于数据可能会被重复处理。(3)Exactly once原创 2020-05-23 09:04:41 · 401 阅读 · 0 评论