我是Apache Beam的新手,我正在开发一个管道来从JDBCIO获取行并将其发送到BigQueryIO。我正在使用withAvroFormatFunction
将行转换为avro文件,但它正在为JDBCIO返回的每一行创建一个新文件。带有json文件的withFormatFunction
也是一样。
在DirectRunner上本地运行非常慢,因为它会将大量文件上传到Google Storage。这种方法是否适合扩展Google Dataflow?有没有更好的方法来处理它?
谢谢
在BigqueryIO中,有一个选项可以指定withNumFileShards
,该选项控制使用Bigquery加载作业时生成的文件数。
Control how many file shards are written when using BigQuery load jobs. Applicable only when also setting withTriggeringFrequency(org.joda.time.Duration).
您可以通过将值设置为1来测试您的进程,以查看是否仅创建了1个大文件。