如果我们有像SQL-Server和Oracle这样的本地资源。它的数据必须在大查询中以批处理模式定期摄取。架构应该是什么样的?哪些GCP本地服务可以用于此?可以使用数据流或数据流程吗?
PS:我们的组织到目前为止还没有授权任何第三方ETL工具。偏好是谷歌本地服务。数据融合是非常昂贵的。
使用Apache Beam有两种方法。
-
定期在数据库上运行Beam/Dataflow批处理作业。您可以使用Beam的jdbc连接器来读取数据。之后,您可以使用Beam transforms (
PTransforms
)转换数据,并使用Beam sink写入目标。在这种方法中,您负责处理重复数据(例如,通过在执行期间提供不同的SQL查询)。 -
使用可以从数据库读取更改流的Beam/Dataflow管道。这里最简单的方法可能是使用可用的Dataflow模板之一。例如,见这里。您还可以使用Beam的DebeziumIO连接器开发自己的管道。