实现ParallelSourceFunction接口的DataSource 如果自定义DataSource中有复杂的或者耗时的操作,那么增加DataSource的并行度,让多个SubTask同时进行这些操作,可以有效提升整体吞吐量(前提是硬件资源充裕); 接下来实战可以并行执行的DataSource,原理是DataSoure实现ParallelSourceFunction接口,代码如下,可见和SourceFunctionDemo几乎一...
自定义Source,实现自定义&并行度为1的source 自定义Source,实现一个支持并行度的source 自定义Source,实现一个支持并行度的富类source 自定义Source,实现消费MySQL中的数据 1. 自定义Source,实现自定义&并行度为1的source 自定义source,实现SourceFunction接口,实现一个没有并行度的案例 功能:每隔 1s 进行自增加1 ...
RichSourceFunction # 从上面自定义的 Source 可以看到我们继承的就是这个 RichSourceFunction 类,那么来了解一下: 一个抽象类,继承自 AbstractRichFunction。为实现一个 Rich SourceFunction 提供基础能力。该类的子类有三个,两个是抽象类,在此基础上提供了更具体的实现,另一个是 ContinuousFileMonitoringFunction。
新建Source 类SourceFromMySQL.java,该类继承 RichSourceFunction ,实现里面的 open、close、run、cancel 方法: importcom.zhisheng.flink.model.Student;importorg.apache.flink.configuration.Configuration;importorg.apache.flink.streaming.api.functions.source.RichSourceFunction;importjava.sql.Connection;importjava.sql....
自定义 Source 上面就是 Flink 自带的 Kafka source,那么接下来就模仿着写一个从 MySQL 中读取数据的 Source。 首先pom.xml 中添加 MySQL 依赖: <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.34</version></dependency> ...
compiler.version><flink.version>1.8.0</flink.version><java.version>1.8</java.version><scala.binary.version>2.11</scala.binary.version><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.source...
今天是 Flink 系列的第四篇:《每天5分钟Flink - 自定义 DataSource 案例》。 目标:通过每天一小会儿,熟悉 Flink 的方方面面,为后面算法实现提供工具基础。 本节内容 本节1 个目的:熟悉 Flink 自定义 Source 的具体使用方法引例,今天用一个自定义 MySQL 的数据源案例进行说明!
实现ParallelSourceFunction接口的DataSource 如果自定义DataSource中有复杂的或者耗时的操作,那么增加DataSource的并行度,让多个SubTask同时进行这些操作,可以有效提升整体吞吐量(前提是硬件资源充裕); 接下来实战可以并行执行的DataSource,原理是DataSoure实现ParallelSourceFunction接口,代码如下,可见和SourceFunctionDemo几乎一...
env.execute("Flink add data sourc"); } } 运行Flink 程序,控制台日志中可以看见打印的 student 信息。 RichSourceFunction 从上面自定义的 Source 可以看到我们继承的就是这个 RichSourceFunction 类,那么来了解一下: 一个抽象类,继承自 AbstractRichFunction。为实现一个 Rich SourceFunction 提供基础能力。该类...
Flink自定义的Source 数据源案例-并行度调整结合WebUI 开启webui 取消掉默认并行度为1,因为默认的并行度是8,也就是8个线程 默认的并行度就是系统的核数 代码语言:javascript 复制 StreamExecutionEnvironment env = StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(new Configuration()); 设置不同的并行度 ...