我注意到Google dataprep中的每个目的地(无论是手动的还是计划的)都会启动一个计算引擎实例。普通帐户的限制配额最多为 8 个实例。
看这个流程: dataprep flow
由于数据整理由多个层组成,您可能希望通过导出实现中间步骤,那么运行数据准备流程的最佳方法/架构是什么?
选项 A
运行 2 个单独的流程并安排它们 15 分钟。差异:
- 第一个流程将仅导出最后一步
- 其他流程将仅导出中间步骤
这样,您不会达到配额限制,但您仍在多次计算同一流程的早期阶段
选项 B
保持流程不变并请求更多 Compute Engine 配额:计算工作量相同,我只会让更多实例并行而不是顺序运行
选项 C
每个步骤都有自己的流程 + 创建参考数据集:这样每个流程只会运行一个步骤。
例如,当我运行作业“1549_first_repo”时,我将不再计算前面的 3 个步骤,而只计算最后一个:引用的“5912_first”表和“1549_first_repo”之间的转换。
最后一个选项在我看来是最合理的,因为每个转换最多运行一次,我错过了什么吗?
而且,有没有办法运行每个按顺序而不是并行运行每个导出?
-- 编辑 30. 五月 --
事实证明,选项 C 不是要走的路,因为“引用”是前一个流程的纯粹延续。您可以将引用数据集之前和引用数据集之后的流想象为单个流。
仍在试图弄清楚如何在不冗余计算相同操作的情况下实现模块化。