
flink
文章平均质量分 57
鸭梨山大哎
life hard take it easy
展开
-
Flink 的应用场景和架构模型
在过去的十年里,面向数据时代的实时计算技术接踵而至。从我们最初认识的 Storm,再到 Spark 的异军突起,迅速占领了整个实时计算领域。直到 2019 年 1 月底,阿里巴巴内部版本 Flink 正式开源!一石激起千层浪,Flink 开源的消息立刻刷爆朋友圈,整个大数据计算领域一直以来由 Spark 独领风骚,瞬间成为两强争霸的时代。Apache Flink(以下简称 Flink)以其先进的设计理念、强大的计算能力备受关注,如何将 Flink 快速应用在生产环境中,更好的与现有的大数据生态技术完美结合原创 2021-08-11 09:14:00 · 401 阅读 · 0 评论 -
flink知识点总结
简单介绍一下 FlinkFlink 是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。Flink 提供了数据分布、容错机制以及资源管理等核心功能。Flink提供了诸多高抽象层的API以便用户编写分布式任务:DataSet API, 对静态数据进行批处理操作,将静态数据抽象成分布式的数据集,用户可以方便地使用Flink提供的各种操作符对分布式数据集进行处理,支持Java、Scala和Python。DataStream API,对数据流进行流处理操作,将流式的数据抽象成分布式的数据流,原创 2021-01-29 16:55:33 · 424 阅读 · 0 评论 -
flink file sink
该连接器为提供一个统一的接收器,并将分区文件写入Flink FileSystem抽象支持的文件系统。这个文件系统连接器为两者提供了相同的保证,它是现有流式文件接收器的改进,该流式接收器旨在提供一次精确的执行语义.BATCHSTREAMINGBATCHSTREAMINGSTREAMINGfile sink将传入数据写入存储桶。由于传入的流可以是无限制的,因此每个存储桶中的数据都被组织成有限大小的零件文件。使用默认的基于时间的存储,可以完全配置存储行为,在该存储中,我们每小时开始写入一个新存储桶。这意味着每个原创 2021-01-19 10:43:29 · 748 阅读 · 0 评论 -
flink基本原理入门
Flink 的核心计算架构是下图中的 Flink Runtime 执行引擎,它是一个分布式系统,能够接受数据流程序并在一台或多台机器上以容错方式执行。Flink Runtime 执行引擎可以作为 YARN(Yet Another Resource Negotiator)的应用程序在集群上运行,也可以在 Mesos 集群上运行,还可以在单机上运行(这对于调试 Flink 应用程序来说非常有用)。上图为 Flink 技术栈的核心组成部分,值得一提的是,Flink 分别提供了面向流式处理的接口(DataSt原创 2021-01-13 19:49:09 · 409 阅读 · 0 评论 -
EvnetTimeWindow API
例子import org.apache.flink.api.java.tuple.Tupleimport org.apache.flink.streaming.api.TimeCharacteristicimport org.apache.flink.streaming.api.functions.timestamps.BoundedOutOfOrdernessTimestampExtractorimport org.apache.flink.streaming.api.scala.{DataStr原创 2021-01-11 17:18:10 · 126 阅读 · 0 评论 -
flink Table API 与SQL入门实战
Table API是流处理和批处理通用的关系型API,Table API可以基于流输入或者批输入来运行而不需要进行任何修改。Table API是SQL语言的超集并专门为Apache Flink设计的,Table API是Scala 和Java语言集成式的API。与常规SQL语言中将查询指定为字符串不同,Table API查询是以Java或Scala中的语言嵌入样式来定义的,具有IDE支持如:自动完成和语法检测。导入依赖<dependency> <groupId>org.a原创 2021-01-11 14:56:40 · 330 阅读 · 0 评论 -
flink EventTime与Window
EventTime的引入在Flink的流式处理中,绝大部分的业务都会使用eventTime,一般只在eventTime无法使用时,才会被迫使用ProcessingTime或者IngestionTime。如果要使用EventTime,那么需要引入EventTime的时间属性,引入方式如下所示// 创建流处理环境 val env = StreamExecutionEnvironment.getExecutionEnvironment //设置从该环境创建的所有流的时间特征,例如处理时间,事原创 2021-01-11 14:26:09 · 476 阅读 · 0 评论 -
flinkTime与Window入门详解
Time在Flink的流式处理中,会涉及到时间的不同概念,如下图所示:Event Time:是事件创建的时间。它通常由事件中的时间戳描述,例如采集的日志数据中,每一条日志都会记录自己的生成时间,Flink通过时间戳分配器访问事件时间戳。Ingestion Time:是数据进入Flink的时间。Processing Time:是每一个执行基于时间操作的算子的本地系统时间,与机器相关,默认的时间属性就是Processing Time。一个例子——电影《星球大战》:例如,一条日志进入Flink的时原创 2021-01-11 14:09:16 · 361 阅读 · 0 评论 -
flink API之Sink入门
kafka sink添加依赖<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-connector-kafka-0.11_2.11</artifactId> <version>1.7.2</version></dependency>将数据写入kafka,然后启动命令行消费者可以看下结果import原创 2021-01-11 13:44:26 · 209 阅读 · 0 评论 -
Flink API之Source入门
从集合构建import org.apache.flink.streaming.api.scala.{DataStream, StreamExecutionEnvironment}object Sensor extends App {//创建环境 private val env: StreamExecutionEnvironment = StreamExecutionEnvironment.getExecutionEnvironment //导入隐式转换 import org.apache原创 2021-01-11 11:19:09 · 535 阅读 · 0 评论 -
flink API之 Environment
getExecutionEnvironment创建一个执行环境,表示当前执行程序的上下文。 如果程序是独立调用的,则此方法返回本地执行环境;如果从命令行客户端调用程序以提交到集群,则此方法返回此集群的执行环境,也就是说,getExecutionEnvironment会根据查询运行的方式决定返回什么样的运行环境,是最常用的一种创建执行环境的方式。//创建批处理环境 val env: ExecutionEnvironment = ExecutionEnvironment.getExecutionEnvir转载 2021-01-11 10:46:22 · 177 阅读 · 0 评论 -
flink特点入门
事件驱动型(Event-driven)事件驱动型应用是一类具有状态的应用,它从一个或多个事件流提取数据,并根据到来的事件触发计算、状态更新或其他外部动作。比较典型的就是以kafka为代表的消息队列几乎都是事件驱动型应用。与之不同的就是SparkStreaming微批次,如图:事件驱动型流与批的世界观批处理的特点是有界、持久、大量,非常适合需要访问全套记录才能完成的计算工作,一般用于离线统计。流处理的特点是无界、实时, 无需针对整个数据集执行操作,而是对通过系统传输的每个数据项执行操作,一般原创 2021-01-11 10:29:42 · 192 阅读 · 0 评论 -
flink入门案例之WordCount
flink入门案例之WordCount,以下测试代码都是在本地执行的添加依赖添加maven依赖<dependencies> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-scala_2.11</artifactId> <version>1.7.2原创 2021-01-11 10:16:20 · 346 阅读 · 0 评论 -
flink 入门及安装
概念如今,每个组织中都在大量使用实时处理。欺诈检测,医疗保健中的实时警报和网络攻击警报等用例需要实时处理即时数据。即使是几毫秒的延迟也会产生巨大的影响。这种实时用例的理想工具是可以输入数据流而不是批处理的工具。Apache Flink是该实时处理工具安装解压[root@mypc01 bin]# tar -zxvf flink-1.12.0-bin-scala_2.11.gz -C /usr/local# 去bin目录下启动[root@mypc01 bin]# ./start-cluster.sh原创 2021-01-08 09:47:17 · 223 阅读 · 0 评论