问题1:Flink CDC这个读和写放在一个任务,怎么都没作用了啊?SourceFunction sourceFunction = OracleSource.builder() .hostname("localhost") .port(1521) .database("ORCL") // monitor XE database .schemaList("scott") // monitor inventory schema .tableList("scott.t_user") // monitor products table .username("scott") .password("123456") //从最新位置读取,可自行修改initial()、latest() //.startupOptions(StartupOptions.initial()) .deserializer(new UserSchema()) // converts SourceRecord to JSON String .build();
// 启动一个webUI
Configuration configuration = new Configuration();
configuration.setInteger(RestOptions.PORT, 8081);
configuration.setString(RestOptions.ADDRESS, "127.0.0.1");
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(configuration);
// 将数据写入 Oracle
env.addSource(sourceFunction).addSink(JdbcSink.sink(
// 设置插入语句
"insert INTO \"SCOTT\".\"t_user_copy\" (\"id\", \"name\", \"age\") VALUES (?, ?, ?) ",
// 设置 JdbcStatementBuilder
(JdbcStatementBuilder<User>) (preparedStatement, value) -> {
System.out.println("asafag" + value.getName());
preparedStatement.setString(1, value.getId());
preparedStatement.setString(2, value.getName());
preparedStatement.setInt(3, value.getAge());
},
// 设置连接器
new JdbcConnectionOptions.JdbcConnectionOptionsBuilder()
.withDriverName("oracle.jdbc.driver.OracleDriver")
.withUrl("jdbc:oracle:thin:@127.0.0.1:1521/orcl")
.withUsername("scott")
.withPassword("123456")
.build()
)).setParallelism(1);
env.execute("FlinkCDCOracle");
问题2:checkpoint没配置么,我刚接触flink,还不太懂
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。