Google cloud platform 数据流:无法在不同位置读写:来源:asia-south1,目的地:us-central1“;
我在运行数据流时遇到以下错误。我的数据源位于GCP BQ(asia-south1),目的地是PostgreSQL DB(AWS->Mumbai地区) 我的代码如下:Google cloud platform 数据流:无法在不同位置读写:来源:asia-south1,目的地:us-central1“;,google-cloud-platform,google-bigquery,google-cloud-dataflow,dataflow,Google Cloud Platform,Google Bigquery,Google Cloud Dataflow,Dataflow,我在运行数据流时遇到以下错误。我的数据源位于GCP BQ(asia-south1),目的地是PostgreSQL DB(AWS->Mumbai地区) 我的代码如下: p .apply(BigQueryIO.read().from("datalake:Yearly2020.Sales")) .apply(JdbcIO.<TableRow>write() .withDataSourceConfiguration(JdbcI
p
.apply(BigQueryIO.read().from("datalake:Yearly2020.Sales"))
.apply(JdbcIO.<TableRow>write()
.withDataSourceConfiguration(JdbcIO.DataSourceConfiguration.create("org.postgresql.Driver", "jdbc:postgresql://xx.xx.xx.xx:1111/dbname")
.withUsername("username")
.withPassword("password"))
.withStatement("INSERT INTO Table VALUES(ProductRevenue)")
.withPreparedStatementSetter(new BQPGStatementSetter()));
p.run().waitUntilFinish();
gcloud beta dataflow jobs run sales_data \
--gcs-location gs://datalake-templates/Template \
--region=asia-east1 \
--network=datalake-vpc \
--subnetwork=regions/asia-east1/subnetworks/asia-east1 \
当Bigquery是源时,它运行加载作业,将数据存放在gcs存储桶中。数据暂存在
temp\u location
中,如果未指定temp\u location
,则使用staging\u location
中指定的区域
在数据流作业中,您可以使用在asia south
中创建的bucket指定temp_location
,因为这是Bigquery数据集所在的位置
此外,如果您正在使用网络和子网络,还建议关闭公共ip,以便通过VPN完成连接。我们尝试在不使用公共ip的情况下禁用公共ip,但出现错误“无法创建PoolableConnectionFactory”。
gcloud beta dataflow jobs run sales_data \
--gcs-location gs://datalake-templates/Template \
--region=asia-east1 \
--network=datalake-vpc \
--subnetwork=regions/asia-east1/subnetworks/asia-east1 \