我正在使用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)...);
添加回答
举报
0/150
提交
取消