随笔分类 - FLINK
【翻译】Flink Table Api & SQL —— 数据类型
摘要:本文翻译自官网:https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/types.html Flink Table Api & SQL 翻译目录 由于历史原因,在 Flink 1.9之前,Flink 的 Table
阅读全文
【翻译】Flink Table Api & SQL —— 概念与通用API
摘要:本文翻译自官网:https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/common.html Flink Table Api & SQL 翻译目录 Table API和SQL集成在共同API中。该API的中心概念是
阅读全文
【翻译】Flink Table Api & SQL —— Overview
摘要:本文翻译自官网:https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/ Flink Table Api & SQL 翻译目录 一直没有用 flink 的 table 或 sql api,最近开始要使用这部分功能了,
阅读全文
Flink 实现基于时间或数量触发的触发器
摘要:Flink 中窗口是很重要的一个功能,而窗口又经常配合触发器一起使用。 Flink 自带的触发器大概有: CountTrigger: 指定条数触发 ContinuousEventTimeTrigger:指定事件时间触发 ContinuousProcessingTimeTrigger:指定处理时间触发
阅读全文
【翻译】Flink window
摘要:本文翻译自flink官网:https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/stream/operators/windows.html Windows是处理无限流的核心。Windows将流分成有限大小的“存储桶”,我们可以
阅读全文
Flink 滑动窗口使用触发器会触发多个窗口的计算
摘要:之前有小伙伴在群里说:滑动窗口使用触发器让每条数据都触发一次计算 但是他并没有得到预期的结果:每条数据都触发一次计算,输出一条结果,而是每天数据都输出了很多条结果 为什么会这样呢? 写了个小案例,来解释这种情况 为了方便使用自定义的 source 开发数据: 就是个简单的 souce,每秒对外发出随
阅读全文
【源码解析】Flink 滑动窗口数据分配到多个窗口
摘要:之前一直用翻滚窗口,每条数据都只属于一个窗口,所有不需要考虑数据需要在多个窗口存的事情。 刚好有个需求,要用到滑动窗口,来翻翻 flink 在滑动窗口中,数据是怎么分配到多个窗口的 一段简单的测试代码: 定义了一个长度为1分钟,滑动距离 10秒的窗口,所以正常每条数据应该对应 6 个窗口 在 pro
阅读全文
Flink 中定时加载外部数据
摘要:社区中有好几个同学问过这样的场景: flink 任务中,source 进来的数据,需要连接数据库里面的字段,再做后面的处理 这里假设一个 ETL 的场景,输入数据包含两个字段 “type, userid....” ,需要根据 type,连接一张 mysql 的配置表,关联 type 对应的具体内容。
阅读全文
Flink 物理分区
摘要:本文来自官网: https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/stream/operators/#physical-partitioning Flink还通过以下函数对转换后的数据精确流分区进行低级控制(如果需要)。
阅读全文
编译Flink 1.9.0
摘要:闲来无事,编个Flink 1.9 玩玩 1、下载flink、flink-shaded 源码、解压 flink flink-shaded 7.0 [venn@venn release]$ ll total 19880 drwxrwxr-x. 44 venn venn 4096 Sep 12 14:00
阅读全文
【源码解析】Flink 是如何基于事件时间生成Timestamp和Watermark
摘要:生成Timestamp和Watermark 的三个重载方法介绍可参见上一篇博客: Flink assignAscendingTimestamps 生成水印的三个重载方法 之前想研究下Flink是怎么处理乱序的数据,看了相关的源码,加上测试,发现得到了与预期完全不相同的结果。 预期是:乱序到达的数据,
阅读全文
基于grafana+prometheus构建Flink监控
摘要:先上一个架构图 Flink App : 通过report 将数据发出去 Pushgateway : Prometheus 生态中一个重要工具 Prometheus : 一套开源的系统监控报警框架 (Prometheus 入门与实践) Grafana: 一个跨平台的开源的度量分析和可视化工具,可以通过
阅读全文
【源码解析】Flink 是如何处理迟到数据
摘要:相信会看到这篇文章的都对Flink的时间类型(事件时间、处理时间、摄入时间)和Watermark有些了解,当然不了解可以先看下官网的介绍:https://ci.apache.org/projects/flink/flink-docs-master/dev/event_time.html 这里就会有这
阅读全文
Flink assignAscendingTimestamps 生成水印的三个重载方法
摘要:先简单介绍一下Timestamp 和Watermark 的概念: Flink 在流上手动生成水印有三个重载的方法(忽略过期的一个) assignTimestamps(extractor: TimestampExtractor[T]): DataStream[T] 此方法是数据流的快捷方式,其中已知元
阅读全文
【翻译】生成 Timestamps / Watermarks
摘要:本文翻译自flink官网:https://ci.apache.org/projects/flink/flink-docs-release-1.7/dev/event_timestamps_watermarks.html Assigning Timestamps Source Functions wi
阅读全文
【翻译】The Broadcast State Pattern(广播状态)
摘要:本文翻译自官网:The Broadcast State Pattern Provided APIs (提供的api) BroadcastProcessFunction and KeyedBroadcastProcessFunction Important Considerations (注意事项)
阅读全文
基于Broadcast 状态的Flink Etl Demo
摘要:接上文: 【翻译】The Broadcast State Pattern(广播状态) 最近尝试了一下Flink 的 Broadcase 功能,在Etl,流表关联场景非常适用:一个流数据量大,一个流数据量小(配置表)需要更新 业务逻辑如下: 注: 正常情况广播流只有一个输出源,更新也在这个源里,这里做
阅读全文
Flink 在IDEA执行时的webui
摘要:不过Flink IDEA中执行的webui 需要 flink-runtime-web 包的支持 pom 如下: 启动日志如下: flink webui监听地址如下: http://localhost:2841 打开对应地址: 进入job: Metrics 也正常: 不过 logs 和 Stdout
阅读全文
Flink MysqlSink 简单样例
摘要:在大数据领域中,有很多nosql 的数据库,典型的 hbase,可以实现大数据量下的快速查询,但是关系型数据的地位还是没办法替代。比如上个项目中,计算完的结果数据,还是会输出到关系型数据库当中。Flink 中没有提供关系型数据的connector,看到有小伙伴在问,怎么实现,就写个简单的demo。
阅读全文
Flink FileSink 自定义输出路径——StreamingFileSink、BucketingSink 和 StreamingFileSink简单比较
摘要:接上篇:Flink FileSink 自定义输出路径——BucketingSink 上篇使用BucketingSink 实现了自定义输出路径,现在来看看 StreamingFileSink( 据说是StreamingFileSink 是社区优化后添加的connector,推荐使用) Streamin
阅读全文