Google Dataprep实例数量与架构优化方案咨询
Google Dataprep 流程运行的最佳架构疑问
我最近在使用Google Dataprep时发现一个问题:不管是手动触发的任务还是调度任务,每个destination都会启动一个Compute Engine实例,而普通账号的配额上限只有8个实例。结合Dataprep的典型流程逻辑,数据清洗(data wrangling)本身包含多个层级,我想着能不能通过导出物化中间步骤来优化,但不确定哪种方案才是最优的,想请教下大家运行Dataprep流程的最佳方法/架构是什么?
下面是我考虑过的几个选项:
选项A:拆分两个独立流程,间隔15分钟调度
- 第一个流程只负责导出最终步骤
- 第二个流程只负责导出中间步骤
这种方式不会触发配额限制,但缺点是会重复计算流程的早期阶段。
选项B:保留现有流程,申请提升Compute Engine配额
计算量和原来完全一样,只是把实例从串行运行改成并行运行。
选项C:每个步骤单独设为流程+创建参考数据集
每个流程只运行单个步骤。比如运行任务1549_first_repo时,不再重复计算前3个步骤,只执行从参考表5912_first到1549_first_repo的转换。
我原本觉得这个选项最合理,因为每个转换最多只需要运行一次,但不知道有没有考虑遗漏的点?另外,有没有办法把每个export改成串行执行而非并行?
5月30日补充编辑
实际测试后发现选项C不可行,因为Dataprep里的“引用”其实是对前序流程的纯粹延续,引用数据集前后的流程会被系统视为单个流程。目前我还在寻找一种无需重复计算就能实现流程模块化的方法。
内容的提问来源于stack exchange,提问作者Shahin Ghannadian
相关产品推荐
相关产品推荐

