google Dataprep:实例数和架构优化

google Dataprep: number of instances and architecture optimisation

我注意到 Google dataprep 中的每个 destination(无论是手动的还是计划的)都会启动一个计算引擎实例。普通账户的限制配额最多为 8 个实例

看看这个流程: dataprep flow

由于数据整理由多层组成,您可能希望通过导出实现中间步骤,运行 数据准备流程的最佳方法/架构是什么?

选项 A

运行 2 个单独的流程并安排 15 分钟。差异:

  1. 第一个流将仅导出最后一步
  2. 其他流程将仅导出中间步骤

这样您就不会达到配额限制,但您仍在多次计算同一流程的早期阶段

选项 B

让流程保持原样并请求更多的计算引擎配额:计算工作是相同的,我将有更多实例运行并行而不是顺序

选项 C

每个步骤都有自己的流程+创建参考数据集: 这样每个流程只会 运行 一个步骤。

例如 当我 运行 作业“1549_first_repo”时,我将不再计算前面的 3 个步骤,而只计算最后一个步骤:引用的“5912_first”table 和“ 1549_first_repo".

最后一个选项在我看来是最合理的,因为每个转换最多 运行 一次,我错过了什么吗?

还有,有没有办法 运行 每个 顺序导出 而不是 并行

-- 编辑 30. 5 月--

事实证明选项 C 不是可行的方法,因为 "referencing" 是前一个流程的纯粹延续。您可以将引用数据集之前和引用数据集之后的流想象为单个流。

仍在尝试找出如何在不重复计算相同操作的情况下实现模块化。

选项A和B都不错,区别是配额增加了。如果你期待早晚升级,不妨早点升级。

和其他选项,如果您熟悉 java 或 python 和 Dataflow, is to create a pipeline having a combination of numWorkers, workerMachineType, and maxNumWorkers that fits within your trial limit of 8 cores (or virtual CPUs). Here are the pipeline option and here is a tutorial 可以让您更好地了解产品。