我最近开始使用Apache beam . 我相信我在这里遗漏了一些东西 . 我需要从一个非常庞大的数据库加载到bigquery . 这些表很大 . 我编写了示例梁作业来从简单表中加载最少的行 .
-
如何使用JDBCIO从表中加载n行?无论如何,我可以像传统的数据迁移工作一样批量加载这些数据 .
-
我可以从数据库中批量读取并批量写入bigquery吗?
-
我也看到了,将数据加载到bigquery的建议方法是将文件添加到数据存储桶 . 但是,在自动化环境中,要求是将其写为数据流作业以从db加载并将其写入bigquery . 我的设计应该如何使用apache beam解决这个问题?
请帮忙 . !
1 回答
它看起来像[1],如果它来自有界PCollection(否则它使用流插入),BigQueryIO将编写批量数据 . 它似乎也限制了每个文件和批处理的大小,所以我认为你不需要进行任何手动批处理 .
我只是通过JDBCIO从您的数据库中读取,如果需要将其转换,并将其写入BigQueryIO .
[1] https://github.com/apache/beam/blob/master/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQueryIO.java