为了账号安全,请及时绑定邮箱和手机立即绑定

我们可以在 JDBCIO.write 函数中使用 Apache Beam 管道在单个

我们可以在 JDBCIO.write 函数中使用 Apache Beam 管道在单个

慕神8447489 2022-06-30 18:01:46
我正在使用JDBCIO.write()apache 梁的功能将流数据写入 cloudSQL。根据我的要求,我必须在两个不同的表中写入相同的数据。实际上,我正在创建两个不同的 JDBCIO 连接来在 cloudSQL 表中写入数据。有没有办法在单个JDBCIO.write()函数中编写两个插入查询?outputStringPcollection            .apply("Write to CloudSQL table",                    JdbcIO.<String> write()                            .withDataSourceConfiguration(JdbcIO.DataSourceConfiguration                                    .create(DRIVER_CLASS_NAME,                                            URL)                                    .withUsername(USERNAME)                                    .withPassword(PASSWORD)                            .withStatement(insertQueryTable1)                            .withPreparedStatementSetter(new SetQueryParameter())                            .withStatement(insertQueryTable2)                            .withPreparedStatementSetter(new SetQueryParameter()));我尝试通过在单个 JDBC 连接中编写两个不同的插入查询来执行上述代码,但数据仅插入到一个表(即 Table2)中。那么,我们可以在单个连接中执行多个查询吗?如果是,还有其他方法吗?提前致谢。
查看完整描述

1 回答

?
慕标琳琳

TA贡献1830条经验 获得超9个赞

不,您不能在单个连接中执行此操作。你能做的最好的事情是:

JdbcIO<String> configuredWrite = JdbcIO.<String>.withDataSourceConfiguration(...);outputStringPcollection.apply(configuredWrite.withStatement(s1)...);outputStringPcollection.apply(configuredWrite.withStatement(s2)...);


查看完整回答
反对 回复 2022-06-30
  • 1 回答
  • 0 关注
  • 132 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信