像我们比较熟知的DataX、Canal、Sqoop等多个框架就是常见的CDC开源工具。 Flink CDC一开始只是阿里-云邪个人的一个兴趣孵化项目,于2020年7月提交了第一个commit,2020 年 7 中旬支持了 MySQL-CDC,2020 年 7 月末支持了 Postgres-CDC,一年的时间,该项目在 GitHub 上的 star 数已经超过 800。 Flink CDC地址:htt...
class MysqlSink extends RichSinkFunction[((String, String, String, String), Int)] { //获取配置文件 val driver = ConfigUtil.getString("mysql-driver") val url = ConfigUtil.getString("mysql-url") val user = ConfigUtil.getString("mysql-user") val password = ConfigUtil.getString("mysql-pas...
2、创建source表 注意类型是'connector' = 'mysql-cdc'。 tEnv.executeSql("CREATE TABLE league_test.oc_settle_profit (\n"+" id STRING,\n"+" show_profit_id STRING,\n"+" order_no STRING,\n"+" from_user_id STRING,\n"+" from_user_type INT,\n"+" user_id STRING,\n"+" user_type...
维表关联系列目录: 一、维表服务与Flink异步IO 二、Mysql维表关联:全量加载三、Hbase维表关联:LRU策略四、Redis维表关联:实时查询五、kafka维表关联:广播方式六、自定义异步查询 在维表关联中定时全量加载是针对维表数据量较少并且业务对维表数据变化的敏感程度较低的情况下可采取的一种策略,对于这种方案使用有几...
2、某个数据需要写到多个存储中。业务数据需要写入到多个中间件或者存储中,比如业务的数据存储再Mysql的数据中,后来为了方便检索需要写入到ES,或者为了缓存需要写入到Redis,或者是Mysql分表的数据合并写入到Doris中。 3、数据仓库的场景。比如将表里的数据实时写入到DWS数据仓库的宽表中。
我们经常需要在一个时间窗口维度上对数据进行聚合,窗口是流处理应用中经常需要解决的问题。Flink的窗口算子为我们提供了方便易用的API,我们可以将数据流切分成一个个窗口,对窗口内的数据进行处理。本文将介绍如何在Flink上进行窗口的计算。 一个Flink窗口应用的大致骨架结构如下所示: ...
目前在实时计算的场景中,熟悉 datastream 的同学大多数都使用过 mysql\Hbase\redis 作为维表引擎存储一些维度数据,然后在 datastream api 中调用 mysql\Hbase\redis 客户端去获取到维度数据进行维度扩充。 而redis 作为 flink 实时场景中最常用的高速维表引擎,官方是没有提供 flink sql api 的 redis 维表 connector...
public class MysqlSink extends RichSinkFunction<BsEvent> {SqlSession sqlSession;BsEventMapper bsEventMapper;@Overridepublic void open(Configuration parameters) throws Exception {sqlSession = MybatisUtil.getSqlSession();bsEventMapper = sqlSession.getMapper(BsEventMapper.class);}@Overridepublic void close()...
sink 到 mysql sink 到 redis 下面以 sink 到 kafka 为例 val sinkTopic = "test" //样例类 case class Student(id: Int, name: String, addr: String, sex: String) val mapper: ObjectMapper = new ObjectMapper() //将对象转换成字符串 def toJsonString(T: Object): String = { mapper.registerMod...
-- Mysql依赖--><dependency><groupId>org.apache.flink</groupId><artifactId>flink-connector-jdbc_${scala.binary.version}</artifactId><version>${flink.version}</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version></...