Flink
Flink
「miraitowa」
这个作者很懒,什么都没留下…
展开
-
Flink直击灵魂问答
1、Flink的抽象层次有几种?Stateful stream processingCore APITableSQL2、Window类型?TimeWindowTumbling Window(滚动窗口)Sliding Window(滑动窗口)Session Window(会话窗口)Global Window(全局窗口)CountWindow自定义window3、Flink Time类型?Flink中的时间和其它流式计算系统的时间一样分为三类:事件时间,摄入时间,处理原创 2020-10-14 12:00:53 · 257 阅读 · 2 评论 -
Flink知识点总结
一、Flink简介1.1 初识FlinkFlink项目的理念是:Apache Flink是为分布式、高性能、随时可用以及准确的流处理应用程序打造的开源流处理框架。Apache Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。Flink被设计在所有常见的集群环境中运行,以内存执行速度和任意规模来执行计算。Flink能够提供毫秒级别的延迟,同时保证了数据处理的低延迟、高吞吐和结果的正确性,还提供了丰富的时间类型和窗口计算、Exactly-once(就一次)语义支持,另外还可以原创 2020-10-11 18:40:31 · 420 阅读 · 0 评论 -
Flink中状态编程和容错机制
流式计算分为无状态和有状态两种情况;无状态的计算观察每个独立事件,并根据最后一个事件输出结果;有状态的计算则会基于多个事件输出结果Flink状态管理包含哪些?状态一致性,故障处理以及高效存储和访问,以便开发人员可以专注于应用程序的逻辑1、状态的类型在Flink中,状态始终与特定算子相关联,总的来说,有两种类型的状态:算子状态(Operator State)键控状态(Keyed State)1.1 算子状态(Operator State)算子状态的作用范围限定为算子任务,由同一并行任务所处原创 2020-10-12 16:00:46 · 197 阅读 · 1 评论 -
Flink中的Window
1 WindowStreaming流式计算是一种被设计用于处理无限数据集的数据处理引擎,而无限数据集是指一种不断增长的本质上无限的数据集,而Window是一种切割无限数据理为有限块进行处理的手段Window是无限数据流处理的核心,Window将一个无限的Stream拆分成有限大小的”buckets”桶,我们可以在这些桶上做计算操作Window可以分成两类:CountWindow:按照指定的数据条数生成一个Window,与时间无关TimeWindow:按照时间生成Window滚动窗口(原创 2020-10-11 18:35:53 · 183 阅读 · 0 评论 -
Flink中时间语义与Wartermark
1 Flink中的时间语义在 Flink 的流式处理中,会涉及到时间的不同概念,如下图所示:Event Time:是事件创建的时间。它通常由事件中的时间戳描述,例如采集的日志数据中,每一条日志都会记录自己的生成时间,Flink 通过时间戳分配器访问事件时间戳Ingestion Time:是数据进入 Flink 的时间Processing Time:是每一个执行基于时间操作的算子的本地系统时间,与机器相关默认的时间属性就是Processing Time对于业务来说,要统计1min内的故障日志个数原创 2020-10-11 18:30:25 · 435 阅读 · 0 评论 -
Flink流处理API之Sink
Flink没有类似于Spark中foreach方法,让用户进行迭代的操作虽有对外的输出操作都要利用Sink完成最后通过类似如下方式完成整个任务最终输出操作stream.addSink(new MySink(xxxx))官方提供了一部分的框架的Sink;除此以外,需要用户自定义实现Sink1. Kafka<dependency> <groupId>org.apache.flink</groupId> <artifactId>fli原创 2020-09-29 12:17:41 · 390 阅读 · 0 评论 -
Flink运行架构
1. Flink运行时的组件Flink运行时架构主要包括四个不同的组件,它们会在运行流处理应用程序时协同工作:作业管理器(JobManager)任务管理器(TaskManager)资源管理器(ResourceManager)分发器(Dispatcher)因为Flink是用于Java和Scala实现的,所以所有组件都会运行在Java虚拟机上1.1 JobManager控制一个应用程序执行的主进程,也就是说,每个应用程序都会被一个不同的JobManager所控制执行JobManager会先接原创 2020-09-29 10:57:17 · 245 阅读 · 0 评论 -
Flink流处理API之Source
1 从集合读取数据package com.streamapiimport org.apache.flink.api.scala._import org.apache.flink.streaming.api.scala.StreamExecutionEnvironmentobject Source { def main(args: Array[String]): Unit = { // 创建流处理环境 val env = StreamExecutionEnvironment.g原创 2020-09-29 10:50:58 · 142 阅读 · 0 评论 -
Flink高可用集群搭建
一、Flink下载安装包下载地址:http://flink.apache.org/downloads.html,选择对应Hadoop的Flink版本下载Flink 有三种部署模式,分别是Local、Standalone Cluster和Yarn Cluster二、Local模式对于Local模式来说,JobManager和TaskManager会公用一个JVM来完成Workload如果要验证一个简单的应用,Local模式是最方便的实际应用中大多使用Standalone或者Yarn Cluster原创 2020-09-18 20:58:31 · 682 阅读 · 0 评论