我有一个要求,我必须使用Cloud Dataflow API将字符串PCollection写入Cloud SQL。
beta
这是我正在尝试的示例代码。我想做的一个非常简单的版本。
此外,使用parDo从Dataflow写入Cloud SQL并编写简单的插入语句是否可行?
答案 0 :(得分:3)
上一个转换输出一个PCollection<String>
,因此您需要指定它是JdbcIO<T>.write()
的输入类型
类似这样的东西:
pipeline
.apply(TextIO.read().from("gs://***/sampleBigtable.csv"))
.apply(JdbcIO.<String>write().withDataSourceConfiguration(
DataSourceConfiguration.create("org.postgresql.Driver","jdbc:postgresql://***:5432/test")
.withUsername("**")
.withPassword("password10"))
.withStatement("insert into person values(?,?)")
.withPreparedStatementSetter((element, query) -> {
query.setInt(1, 1);
query.setString(2, "Hello");
})
);