@Overridepublicvoidrun(SourceContext<RowData> ctx)throwsException {// splicing query sqlStringsql=makeupSql();PreparedStatementps=conn.prepareStatement(sql);// Split by primary key for subtaskintindex=getRuntimeContext().getIndexOfThisSubtask();inttotal=getRuntimeContext().getNumberOfParallelSubtas...
社区在Flink 1.12版本通过FLIP-146提出了增强Flink SQL DynamicTableSource/Sink接口的动议,其中的一个主要工作就是让它们支持独立设置并行度。很多Sink都已经可以配置sink.parallelism参数(见FLINK-19937),但Source还没动静。这是因为Source一直以来有两种并行的标准,一是传统的流式SourceFunction与批式InputFormat,二是原...
package cn.zuoyanTest.sql; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import org.apache.flink.api.common.eventtime.WatermarkStrategy; import org.apache.flink.api.java.tuple.Tuple2; import org.apache.flink.streaming.api.datastream.DataStream; import org.apache...
}classSQL_sourceextendsRichSourceFunction[Student]{privatevar connection: Connection =nullprivatevar ps: PreparedStatement =nulloverride def open(parameters: Configuration): Unit={ val driver= "com.mysql.jdbc.Driver"val url= "jdbc:mysql://hadoop01:3306/test"val username= "root"val password= "root...
MySQL表student的实体采用case class定义 objectDomain{caseclassAccess(time:Long,domain:String,traffic:Long)caseclassStudent(id:Int,name:String,age:Int)} 实现RichSourceFunction来自定义MySQLSource packagecom.zc.bigdata.flink02importjava.sql.{Connection,PreparedStatement}importcom.zc.bigdata.bean.Domain.Stude...
Notes:在 flink sql 中,source 有两种表,一种是数据源表,一种是数据维表。数据源表就是有源源不断的数据的表。比如 mq。数据维表就是用来给某些数据扩充维度使用的。比如 redis,mysql,一般都是做扩容维度的维表 join 使用。 本节主要介绍数据源表,数据维表的整个流程和数据源表几乎一样。下文中的 source ...
CustomMysqlSource(exec_sql:String,hourInterval:Int=0)extendsRichSourceFunction[ProjectsClass]{varisRunning=truevarqueryDbName:Symbol=_overridedefopen(parameters:Configuration):Unit={queryDbName=Symbol(ConfigParse.getString("bg.broadcast_dim.database"))// 创建数据库链接}overridedefrun(sourceContext:Source...
自定义Flink Source,案例分别实现了继承于SourceFunction的四个案例,三个完全自定义的Source, 另外一个Source为常见的MySQL,通过这几个案例,启发我们进行实际案例的Source研发 代码版本 Flink : 1.10.0 Scala : 2.12.6 官网部分说明 这个是关于Interface中Souce中的信息以及链接,关于SourceFunction的说明,基本使用到的是...
Notes:在 flink sql 中,source 有两种表,一种是数据源表,一种是数据维表。数据源表就是有源源不断的数据的表。比如 mq。数据维表就是用来给某些数据扩充维度使用的。比如 redis,mysql,一般都是做扩容维度的维表 join 使用。本节主要介绍数据源表,数据维表的整个流程和数据源表几乎一样。下文中的 source 默...