Flink Batch Hash Aggregate
数据类型要求 BatchPhysicalHashAggRule match 条件会判断 isAggBufferFixedLength(agg) 为什么要求 aggCall 的类型是 Fixed Length 的才可以使用 HashAggregate ? 因为在 HashAggregate 中...[2024/5/13]
【Flink入门修炼】2-2 Flink State 状态
什么是状态?状态有什么作用? 如果你来设计,对于一个流式服务,如何根据不断输入的数据计算呢? 又如何做故障恢复呢? 一、为什么要管理状态 流计算不像批计算,数据是持续流入的,而不是一个确定的数据集。在进行计算的时候,不可能把之前已经输入的数据全都保存下来,然后再和新数据合并计算。效率低下不说...[2024/3/7]
【Flink入门修炼】1-2 Mac 搭建 Flink 源码阅读环境
在后面学习 Flink 相关知识时,会深入源码探究其实现机制。因此,需要现在本地配置好源码阅读环境。 本文搭建环境: Mac M1(Apple Silicon) Java 8 IDEA Flink 官方源码 一、 下载 Flink 源码 github 地址:https: github.c...[2024/2/7]
使用Flink完成流数据统计
一、统计流程 所有流计算统计的流程都是: 1、接入数据源 2、进行多次数据转换操作(过滤、拆分、聚合计算等) 3、计算结果的存储 其中数据源可以是多个、数据转换的节点处理完数据可以发送到一个和多个下一个节点继续处理数据 Flink程序构建的基本单元是stream和transforma...[2023/12/11]
flink-cdc同步mysql数据到elasticsearch
1,什么是cdc CDC是(Change Data Capture 变更数据获取)的简称。核心思想是,监测并捕获数据库的变动(包括数据 或 数据表的插入INSERT、更新UPDATE、删除DELETE等),将这些变更按发生的顺序完整记录下来,写入到消息中间件中以供其他服务进行订阅及消费。 2,f...[2023/8/11]
一文解开主流开源变更数据捕获技术之Flink CDC的入门使用
@目录概述定义什么是CDC?CDC的分类特性应用场景支持数据源实战Flink DataStream方式代码示例FlinkSQL方式代码示例 概述 定义 flink-cdc-connectors 官网 https: github.com/ververica/flink-cdc-connect...[2023/6/28]
实例讲解Flink 流处理程序编程模型
摘要:在深入了解 Flink 实时数据处理程序的开发之前,先通过一个简单示例来了解使用 Flink 的 DataStream API 构建有状态流应用程序的过程。 本文分享自华为云社区《Flink 实例:Flink 流处理程序编程模型》,作者:TiAmoZhang 。 在深入了解 Flink ...[2023/6/9]
《关于我因为flink成为spark源码贡献者这件小事》
各位读者老爷请放下手上的板砖,我可真没有标题党,且容老弟慢慢道来。 spark和flink本身相信我不用做过多的介绍,后端同学不管搞没搞过大数据,应该都多多少少听过。 如果没听过,简单说,spark和flink之于大数据,就好比vue和react之于前端,就好比spring家族之于jav...[2023/2/17]
Flink SQL管理平台flink-streaming-platform-web安装搭建
文章都在个人博客网站:https: www.ikeguang.com/ 同步,欢迎访问。 最近看到有人在用flink sql的页面管理平台,大致看了下,尝试安装使用,比原生的flink sql界面确实好用多了,我们看下原生的,通过bin ql-client.sh命令进入那个黑框,一只松鼠,对,...[2022/12/2]
深度介绍Flink在字节跳动数据流的实践
本文是字节跳动数据平台开发套件团队在1月9日Flink Forward Asia 2021: Flink Forward 峰会上的演讲分享,将着重分享Flink在字节跳动数据流的实践。 字节跳动数据流的业务背景 数据流处理的主要是埋点日志。埋点,也叫Event Tracking,是数据和业务之...[2022/1/17]
Flink使用Pod Template将状态快照(Checkpoint、Savepoint)存储在NFS
背景 Flink 版本 1.13.3,使用 native k8s 部署模式,原采用 HDFS 作为状态快照(Checkpoint、Savepoint)的存储地址,但是由于仅使用了其 HDFS 作为状态快照存储地址,且 Hadoop 框架较重,在 k8s 集群中占用大量资源,现考虑将其替换为更轻量...[2022/1/17]
实时计算框架:Flink集群搭建与运行机制
一、Flink概述 1、基础简介 Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。Flink被设计在所有常见的集群环境中运行,以内存执行速度和任意规模来执行计算。主要特性包括:批流一体化、精密的状态管理、事件时间支持以及精确一次的状态一致性保障等。Flink不仅可以运...[2021/5/10]
如何使用Reactor完成类似Flink的操作
一、背景 Flink在处理流式任务的时候有很大的优势,其中windows等操作符可以很方便的完成聚合任务,但是Flink是一套独立的服务,业务流程中如果想使用需要将数据发到kafka,用Flink处理完再发到kafka,然后再做业务处理,流程很繁琐。 比如在业务代码中想要实现类似Flin...[2021/3/1]
Flink-3-ApacheFlink架构
目录第3章 Apache Flink架构3.1 系统架构3.1.1 搭建Flink所需的组件3.1.1.1 JobManager3.1.1.2 RecourceManager3.1.1.3 TaskManager3.1.1.4 Dispatcher3.1.1.5 整体架构图3.1.2 应...[2020/12/8]
Flink-5-DataStreamAPI
第5章 DataStreamAPI 参考书籍 Stream Proce ing with Apache Flinkhttps: www.oreilly.com/library/view tream-proce ing-with/9781491974285/ 《基于Apach...[2020/12/8]
Apache Flink 如何正确处理实时计算场景中的乱序数据
一、流式计算的未来 在谷歌发表了 GFS、BigTable、Google MapReduce 三篇论文后,大数据技术真正有了第一次飞跃,Hadoop 生态系统逐渐发展起来。 Hadoop 在处理大批量数据时表现非常好,主要有以下特点: 1、计算开始之前,数据必须提前准备好,然后才可以...[2020/12/8]
Flink知识散点
1、KeyBy 操作后,只有当 Key 的数量大于算子的并发实例数才能获得较好的计算性能。 A.而若Key 的数量比实例数量少,就会导致部分实例收不到数据,这些实例就得不到执行,这些实例的计算能力得不到充分发挥。 B.当Key个数多余并行实例数时,由于同一个 Key 对应的所...[2020/11/23]
[Flink]测试用的fake温度传感器
本文整理自云栖社区之前对阿里搜索事业部资深搜索专家蒋晓伟老师的一次采访,蒋晓伟老师,认真而严谨。在加入阿里之前,他曾就职于西雅图的脸书,负责过调度系统,Timeline Infra和Me enger的项目。而后在微软的SQL Server引擎担任过Principal Engineer,负...[2019/10/28]
Flink整合oozie shell Action 提交任务 带kerberos认证
最近这段时间一直在忙新集群迁移,上了最新的cdh6.3.0 于是Flink 提交遇到了许多的问题 还好有cloudera License 有了原厂的帮助和社区的伙伴,问题解决起来快了不少,手动滑稽 集群具体情况是,cdh6.3.0+Flink1.8.1,整个数据平台全部...[2019/10/24]
Flink Time深度解析
Flink 的 API 大体上可以划分为三个层次:处于最底层的 Proce Function、中间一层的 DataStream API 和最上层的 SQL/Table API,这三层中的每一层都非常依赖于时间属性。时间属性是流处理中最重要的一个方面,是流处理系统的基石之一,贯穿这三层 ...[2019/10/17]
idea中flink启动报错org.apache.flink.api.common.ExecutionConfig$GlobalJobParameters
启动时出现如下报错: Caused by: java.lang.Cla NotFoundException: org.apache.flink.api.common.ExecutionConfig$GlobalJobParameters 官方解释如下: ...[2019/9/30]
Flink1.9整合Kafka
本文基于Flink1.9版本简述如何连接Kafka。 流式连接器 我们知道可以自己来开发Source 和 Sink ,但是一些比较基本的 Source 和 Sink 已经内置在 Flink 里。 预定义的source支持从文件、目录、socket,以及 collections...[2019/9/20]
Flink入门宝典(详细截图版)
本文基于java构建Flink1.9版本入门程序,需要Maven 3.0.4 和 Java 8 以上版本。需要安装Netcat进行简单调试。 这里简述安装过程,并使用IDEA进行开发一个简单流处理程序,本地调试或者提交到Flink上运行,Maven与JDK安装这里不做说明。 一、Fl...[2019/9/19]
Storm VS Flink ——性能对比
1.背景 Apache Flink 和 Apache Storm 是当前业界广泛使用的两个分布式实时计算框架。其中 Apache Storm(以下简称“Storm”)在美团点评实时计算业务中已有较为成熟的运用(可参考 Storm 的 可靠性保证测试),有管理平台、常用 API ...[2019/9/12]
Flink文章测试
Flink文章测试 Flink文章测试 Flink文章测试 Flink文章测试 Flink文章测试 Flink文章测试 Flink文章测试 Flink文章测试 Flink文章测试 Flink文章测试 Flink文章测试 Flink文章测试 Flink文章测试 原文链接:http:...[2019/9/12]
Flink中TaskManager端执行用户逻辑过程(源码分析)
TaskManager接收到来自JobManager的jobGraph转换得到的TDD对象,启动了任务,在StreamInputProce or类的proce Input()方法中 通过一个while(true)中不停的拉取上游的数据,然后调用streamOperator.proce...[2019/9/11]
快速构建第一个Flink工程
本文简述通过maven和gradle快速构建的Flink工程。建议安装好Flink以后构建自己的Flink项目,安装与示例运行请查看:Flink快速入门--安装与示例运行. 在安装好Flink以后,只要快速构建Flink工程,并完成相关代码开发,就可以轻松入手Flink。 ...[2019/9/10]
超越Storm,SparkStreaming——Flink如何实现有状态的计算
流式计算分为无状态和有状态两种情况。无状态计算观察每个独立的事件,Storm就是无状态的计算框架,每一条消息来了以后和前后都没有关系,一条是一条。比如我们接收电力系统传感器的数据,当电压超过240v就报警,这就是无状态的数据。但是如果我们需要同时判断多个电压,比如三相电路,我们判断三...[2019/9/10]
Flink的Job启动TaskManager端(源码分析)
前面说到了 Flink的TaskManager启动(源码分析) 启动了TaskManager 然后 Flink的Job启动JobManager端(源码分析) 说到JobManager会将转化得到的TDD发送到Task...[2019/9/10]
统一批处理流处理——Flink批流一体实现原理
实现批处理的技术许许多多,从各种关系型数据库的sql处理,到大数据领域的MapReduce,Hive,Spark等等。这些都是处理有限数据流的经典方式。而Flink专注的是无限流处理,那么他是怎么做到批处理的呢? 无限流处理:输入数据没有尽头;数据处理从当前或者过去的某一个时间...[2019/9/10]
Flink中Periodic水印和Punctuated水印实现原理(源码分析)
在用户代码中,我们设置生成水印和事件时间的方法a ignTimestampsAndWatermarks()中这里有个方法的重载 我们传入的对象分为两种 A ignerWithPunctuatedWatermarks(可以理解为每条数据都会产生水印,如果不想产生水印,返回一个nul...[2019/9/2]
Flink中Idle停滞流机制(源码分析)
前几天在社区群上,有人问了一个问题 既然上游最小水印会决定窗口触发,那如果我上游其中一条流突然没有了数据,我的窗口还会继续触发吗? 看到这个问题,我蒙了???? 对哈,因为我是选择上游所有流中水印最小的一条作为当前水印时间,那万一最小水印的那条流突然里面没有数据了 那...[2019/9/2]
Flink的Job启动JobManager端(源码分析)
通过前面的文章了解到 Driver将用户代码转换成streamGraph再转换成Jobgraph后向Jobmanager端提交 JobManager启动以后会在Dispatcher.java起来RPC方法submitJob(jobGraph),用于接收来自Driver转化得到的J...[2019/8/30]
Flink快速入门--安装与示例运行
flink是一款开源的大数据流式处理框架,他可以同时批处理和流处理,具有容错性、高吞吐、低延迟等优势,本文简述flink在windows和linux中安装步骤,和示例程序的运行。 首先要想运行Flink,我们需要下载并解压Flink的二进制包,下载地址如下:https: flink...[2019/8/29]
Flink的Job启动Driver端(源码分析)
整个Flink的Job启动是通过在Driver端通过用户的Envirement的execute()方法将用户的算子转化成StreamGraph 然后得到JobGraph通过远程RPC将这个JobGraph提交到JobManager对应的接口 JobManager转化成execut...[2019/8/28]
Flink的TaskManager启动(源码分析)
通过启动脚本已经找到了TaskManager 的启动类org.apache.flink.runtime.taskexecutor.TaskManagerRunner 来看一下它的main方法中 最后被start了起来 start其实是将taskManager...[2019/8/27]
Flink 1.8 Basic API Concepts 基本API概念
参考:https: ci.apache.org/project flink/flink-docs-release-1.8/dev/api_concepts.html DataSet and DataStream Flink具有特殊类DataSet和DataStream来表示程序中的数...[2019/8/19]
Flink+Druid构建实时OLAP的探索
场景 k12在线教育公司的业务场景中,有一些业务场景需要实时统计和分析,如分析在线上课老师数量、学生数量,实时销售额,课堂崩溃率等,需要实时反应上课的质量问题,以便于对整个公司的业务情况有大致的了解。 方案对比 对比了很多解决方案,如下几种,列出来供参考。 方案实时入库...[2019/8/12]
flink两种安装方式
Flink Standalone 集群 HA 配置 1. HA 集群环境规划 使用三台节点实现两主两从集群(由于笔记本性能限制,不能开启太多虚拟机,其实使用三 台和四台机器在安装配置上没有本质区别) Jobmanager:hadoop100hadoop101【一个 activ...[2019/7/29]
Flink实战(八) - Streaming Connectors 编程
1 概览 1.1 预定义的源和接收器 Flink内置了一些基本数据源和接收器,并且始终可用。该预定义的数据源包括文件,目录和插socket,并从集合和迭代器摄取数据。该预定义的数据接收器支持写入文件和标准输入输出及socket。 1.2 绑定连接器 连接器提供用于与各种第三方系统连接的代码。目前...[2019/7/29]
Flink实战(六) - Table API & SQL编程
1 意义 1.1 分层的 APIs & 抽象层次 Flink提供三层API。 每个API在简洁性和表达性之间提供不同的权衡,并针对不同的用例。 而且Flink提供不同级别的抽象来开发流/批处理应用程序 最低级抽象只提供有状态流。它通过Proce Function嵌入到Data...[2019/7/26]
Flink实战(七) - Time & Windows编程
0 相关源码 掌握Flink中三种常用的Time处理方式,掌握Flink中滚动窗口以及滑动窗口的使用,了解Flink中的watermark。 Flink 在流处理工程中支持不同的时间概念。 1 处理时间(Proce ing time) 执行相应算子操作的机器的系统时间. 当流程序在处理时间运...[2019/7/26]
Flink实战(七) - Time & Windows编程
0 相关源码 掌握Flink中三种常用的Time处理方式,掌握Flink中滚动窗口以及滑动窗口的使用,了解Flink中的watermark。 Flink 在流处理工程中支持不同的时间概念。 1 处理时间(Proce ing time) 执行相应算子操作的机器的系统时间. 当流程序在处理时间运...[2019/7/23]
Flink实战(六) - Table API & SQL编程
1 意义 1.1 分层的 APIs & 抽象层次 Flink提供三层API。 每个API在简洁性和表达性之间提供不同的权衡,并针对不同的用例。 而且Flink提供不同级别的抽象来开发流/批处理应用程序 最低级抽象只提供有状态流。它通过Proce Function嵌入到Data...[2019/7/22]
Flink流式计算
Structured Streaming A stream is converted into a dynamic table. A continuous query is evaluated on the dynamic table yielding a new dynamic table...[2019/6/17]
Flink源码分析 - 剖析一个简单的Flink程序
本篇文章首发于头条号Flink程序是如何执行的?通过源码来剖析一个简单的Flink程序,欢迎关注头条号和微信公众号“大数据技术和人工智能”(微信搜索bigdata_ai_tech)获取更多干货,也欢迎关注我的CSDN博客。 在这之前已经介绍了如何在本地搭建Flink环境和如何创建Flink应用...[2019/6/6]
01.Flink笔记-编译、部署
Flink开发环境部署配置 Flink是一个以Java及Scala作为开发语言的开源大数据项目,代码开源在github上,并使用maven来编译和构建项目。所需工具:Java、maven、Git。 本次操作是在windows环境下。 一、工具安装 Java配置(略) maven配置 ...[2019/5/30]
Flink本地安装和创建Flink应用
原文地址:Flink本地安装和创建Flink应用 原文链接:http: www.cnblogs.com/cjblog p/10885524.html[2019/5/20]
Flink本地环境安装部署
本次主要介绍flink1.5.1版本的本地环境安装部署,该版本要求jdk版本1.8以上。 下载flink安装包:http: archive.apache.org/dist/flink/flink-1.5.1/ 解压flink安装包 tar -zxvf flink-1.5.1-bin...[2019/4/30]