![](https://img-blog.csdnimg.cn/20210328213416336.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Flink
文章平均质量分 71
Flink有状态的实时计算框架。
架构师思考实践
大数据、实时计算、离线计算
展开
-
【FlinkSQL】一文读懂流join方式
目录一、常规join二、时间窗口join三、时态表join基于事件时间的时态 Join基于处理时间的时态 Join四、时态表函数join对于离线计算、批处理,join操作比较好理解,可以参考文章hive 各种 join (left outer join、join、full outer join)。但是数据流的join和离线join是有差异的,流是无限的,没有边界的。目前Flink Sql有四种join方式。一、常规join需要将所有的历史记录存放到state中,所有历史.原创 2021-03-30 19:57:05 · 2150 阅读 · 0 评论 -
【FlinkSQL】一文读懂 动态表-时态表
一、FLink Sql 简介Flink SQL 是基于Apache Calcite来实现的标准 SQL。它是一种关系型 API,可以来做流批统一处理。不管是在有限批数据上还是在无限的流式数据上,Flink Sql都有相同的语义。二、动态表 (Dynamic Table)...原创 2021-03-28 16:49:56 · 1339 阅读 · 0 评论 -
Flink基础概念
1、keyby、partitionCustom 区别(1)KeyBy DataStream → KeyedStream: 通过制定字段,将流转化成带key的流,之后相同key的数据,分发到相同的算子上。属于逻辑上的分区。 dataStream.keyBy("someKey") // 通过 "someKey"进行分组 dataStream.keyBy(0) // 通过Tuple的第一个元素进行分组(2)物理分区(1)Custom partitioning...原创 2021-03-24 20:45:35 · 743 阅读 · 0 评论 -
Flink架构
FLink是一个有状态的分布式实时计算架构。一、Flink API介绍1、最底层的是有状态的流处理,已经继承到DataStream API中,一般不直接使用。2、第二层核心API,分为流处理DataStream和批处理DataSetAPI,一般用于java、scala开发,使用较多。3、第三层TableAPI,以表为中心的声明式编程API,可以把一个流程定义为一个table,有元数据schema,可以执行部分sql操作,例如select、join等。table api可以和第二层API很原创 2021-03-11 19:47:10 · 200 阅读 · 2 评论 -
Flink Mac本地安装、运行
一、flink本地安装先看下是否有java,不过没有也没事,用的是open-jdk,命令如下:#1、查看java版本java -version#2、安装flinkbrew install apache-flink#3、查看flink版本flink --version原创 2021-02-26 18:18:57 · 2004 阅读 · 1 评论 -
Flink watermark浅析
一、功能问题:Flink实时计算使用窗口时,消息会乱序,使用Event Time计算时,会有消息晚到。解决方案:假设我们把延迟超过5秒的消息丢掉(或特殊处理),那么在每条消息上打一个时间戳(watermark 水位线),这个时间是事件时间减去5s,表示的含义是这个水位线之前的数据都到了,告诉窗口可以出发计算了。补充时间概念:(1)事件时间:业务系统的业务发生或更新时间。(2)抽取时间:进入到消息队列的时间。(3)处理时间:实时计算的时间。二、原理1、watermark本.原创 2021-02-22 19:57:04 · 233 阅读 · 0 评论