草庐IT

创建第一个 Flink 项目

一、运行环境介绍Flink执行环境主要分为本地环境和集群环境,本地环境主要为了方便用户编写和调试代码使用,而集群环境则被用于正式环境中,可以借助HadoopYarn、k8s或Mesos等不同的资源管理器部署自己的应用。环境依赖:【1】JDK环境:Flink核心模块均使用Java开发,所以运行环境需要依赖JDK,JDK版本需要保证在1.8以上。【2】Maven编译环境:Flink的源代码目前仅支持通过Maven进行编译,所以如果需要对源代码进行编译,或通过IDE开发FlinkApplication,则建议使用Maven作为项目工程编译方式。需要注意的是,Flink程序需要Maven的版本在3.0

docker 搭建 flink 并上传任务

文章目录一、docker搭建flink1、选择合适的flink版本2、重新创建JobManager、TaskManager容器并挂载配置文件二、flink简单示例1、创建项目架构2、批处理简单示例3、流处理简单示例4、上传flink集群①、UI界面提交任务②、命令提交任务5、web-ui提交查看撤销任务三、待解决一、docker搭建flink1、选择合适的flink版本docker安装就不介绍了,去dockerHub搜索flink镜像,选择合适的版本安装https://hub.docker.com/_/flink/tags使用docker命令dockerpullflink:1.16.0-sca

Flink 中kafka broker缩容导致Task一直重启

背景Flink版本1.12.2Kafka客户端2.4.1在公司的Flink平台运行了一个读Kafka计算DAU的流程序,由于公司Kafka的缩容,直接导致了该程序一直在重启,重启了一个小时都还没恢复(具体的所容操作是下掉了四台kafkabroker,而当时flink配置了12台kafkabroker),当时具体的现场如下:JobManaer上的日志如下:2023-10-0710:02:52.975INFOorg.apache.flink.runtime.executiongraph.ExecutionGraph-Source:TableSourceScan(table=[[default_ca

Flink高手之路2-Flink集群的搭建

文章目录Flink高手之路2-Flink集群的搭建一、Flink的安装模式1.本地local模式2.独立集群模式standalone3.高可用的独立集群模式standaloneHA4.基于yarn模式Flinkonyarn二、基础环境三、Flink的local模式安装1.下载安装包2.上传服务器3.解压4.配置环境变量5.使环境变量起作用6.测试显示版本7.测试scalashell交互命令行(可跳过)1)安装一下Flink1.12版本2)启动命令行3)webui查看4)scala命令行示例-单词计数(批处理)5)scala命令行示例2-窗口计数(流处理)6)退出命令行8.local模式测试9.

18、Flink的SQL 支持的操作和语法

Flink系列文章1、Flink部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接13、Flink的tableapi与sql的基本概念、通用api介绍及入门示例14、Flink的tableapi与sql之数据类型:内置数据类型以及它们的属性15、Flink的tableapi与sql之流式概念-详解的介绍了动态表、时间属性配置(如何处理更新结果)、时态表、流上的join、流上的确定性以及查询配置16、Flink的tableapi与sql之连接外部系统:读写外部系统的连接器和格式以及FileSystem示例(1)16、Flink的ta

21、Flink 的table API与DataStream API 集成(1)- 介绍及入门示例、集成说明

Flink系列文章1、Flink部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接13、Flink的tableapi与sql的基本概念、通用api介绍及入门示例14、Flink的tableapi与sql之数据类型:内置数据类型以及它们的属性15、Flink的tableapi与sql之流式概念-详解的介绍了动态表、时间属性配置(如何处理更新结果)、时态表、流上的join、流上的确定性以及查询配置16、Flink的tableapi与sql之连接外部系统:读写外部系统的连接器和格式以及FileSystem示例(1)16、Flink的ta

大数据Flink(一百零二):SQL 聚合函数(Aggregate Function)

文章目录SQL聚合函数(AggregateFunction)SQL聚合函数(AggregateFunction)PythonUDAF,即PythonAggregateFunction。PythonUDAF用来针对一组数据进行聚合运算,比如同一个window下的多条数据、或者同一个key下的多条数据等。针对同一组输入数据,PythonAggregateFunction产生一条输出数据。比如以下示例,定义了一个名字为weighted_avg的PythonUDAF:frompyflink.c

为什么 Flink 抛弃了 Scala

曾经红遍一时的Scala想当初Spark横空出世之后,Scala简直就是语言界的一颗璀璨新星,惹得大家纷纷侧目,连Kafka这类技术框架也选择用Scala语言进行开发重构。可如今,Flink竟然公开宣布弃用Scala在Flink1.18的官方文档里,有一句非常严肃的话:所有的FlinkScalaAPIs已被标记为废弃,且将在未来版本中予以移除。AllFlinkScalaAPIsaredeprecatedandwillberemovedinafutureFlinkversion.YoucanstillbuildyourapplicationinScala,butyoushouldmovetoth

【flink-sql实战】flink 主键声明与upsert功能实战

文章目录一.flink主键声明语法二.物理表创建联合主键表三.flinksql使用一.flink主键声明语法主键用作Flink优化的一种提示信息。主键限制表明一张表或视图的某个(些)列是唯一的并且不包含Null值。主键声明的列都是非nullable的。因此主键可以被用作表行级别的唯一标识。主键可以和列的定义一起声明,也可以独立声明为表的限制属性,不管是哪种方式,主键都不可以重复定义,否则Flink会报错。 有效性检查SQL标准主键限制可以有两种模式:ENFORCED或者NOTENFORCED。它申明了是否输入/出数据会做合法性检查(是否唯一)。 Flink不存储数据因此只支持NOTENFORC

【入门Flink】- 05Flink运行时架构以及一些核心概念

系统架构Flink运行时架构Standalone会话模式为例1)作业管理器(JobManager)JobManager是一个Flink集群中任务管理和调度的核心,是控制应用执行的主进程。每个应用都应该被唯一的JobManager所控制执行。JobManger又包含3个不同的组件。(1)JobMasterJobMaster是JobManager中最核心的组件,负责处理单独的作业(Job)。JobMaster和具体的Job是一一对应的,多个Job可以同时运行在一个Flink集群中,每个Job都有一个自己的JobMaster。在作业提交时,JobMaster会先接收到要执行的应用。JobMaster