使用数据流JdbcIO API写入云SQL

时间:2018-07-04 15:10:46

标签: google-cloud-platform google-cloud-dataflow google-cloud-sql

我有一个要求,我必须使用Cloud Dataflow API将字符串PCollection写入Cloud SQL。

beta

这是我正在尝试的示例代码。我想做的一个非常简单的版本。

此外,使用parDo从Dataflow写入Cloud SQL并编写简单的插入语句是否可行?

1 个答案:

答案 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");
                    })
        );