如何将GCS文件中可用的数据写入RDBMS DB,即"gs://***/sampleBigtable.csv"
。你能分享一些例子吗?
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");
})
);
我从您的问题中了解到,您不需要在传输过程中丰富文件中的数据或以其他方式操作它。在这种情况下,更简单的解决方案是只使用Cloud Sql csv导入选项之一。
确保文件为有效的 csv 格式,在数据库中创建表,允许 Cloud Sql 服务账号访问存储桶,并在 Cloud Shell 中运行以下命令:
gcloud sql import csv [INSTANCE_NAME] gs://[BUCKET_NAME]/[FILE_NAME] \ --数据库=[DATABASE_NAME] --表=[TABLE_NAME]