【发布时间】:2016-01-27 17:26:50
【问题描述】:
我是一个新手,试图了解我们如何将批处理 ETL 流程重写到 Google Dataflow 中。我已经阅读了一些文档,运行了一些示例。
我提议新的 ETL 流程将由业务事件(即源 PCollection)驱动。这些将触发该特定业务实体的 ETL 流程。 ETL 过程将从源系统中提取数据集,然后将这些结果(PCollection)传递到下一个处理阶段。处理阶段将涉及各种类型的连接(包括笛卡尔连接和非键连接,例如带日期的连接)。
这里有几个问题:
(1) 我提出的方法是否有效且高效?如果不是更好的话,我还没有看到任何关于使用 Google Dataflow 的现实世界复杂 ETL 流程的演示,只有简单的场景。
是否有更适合的“更高级别”ETL 产品?关注 Spark 和 Flink 有一段时间了。
尽管只有大约 30 个核心表(经典 EDW 维度和事实)和大约 1000 个转换步骤,但我们当前的 ETL 相当复杂。源数据很复杂(大约 150 个 Oracle 表)。
(2) 复杂的非键连接,如何处理?
我显然被 Google Dataflow 所吸引,因为它首先是一个 API,而且并行处理功能似乎非常适合(我们被要求从一夜之间的批处理转向增量处理)。
为这个用例提供一个很好的 Dataflow 示例将真正推动采用!
谢谢, 迈克S
【问题讨论】:
标签: join etl google-cloud-dataflow