我正在使用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
提交
取消