Я использую JDBCIO.write()
функцию Apache Beam для записи потоковых данных в CloudSQL.Согласно моему требованию, я должен записывать одни и те же данные в две разные таблицы.
На самом деле я создаю два разных подключения JDBCIO для записи данных в таблицы cloudSQL.
Есть ли способ написать два запроса на вставку в один JDBCIO.write()
function?
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).
Итак, можем ли мывыполнить несколько запросов в одном соединении?Если да, есть ли другой способ сделать?
Заранее спасибо.