一个摄取gzipped文本文件的Dataflow作业使用SideInputs来连接数据,并将错误写入死信队列,但作业运行时间比预期要长。哪项更改可以加快管道速度?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 使用CoGroupByKey而不是SideInput。.
为什么这是答案
将SideInput替换为CoGroupByKey可以显著提高性能,因为SideInput在Dataflow中通常会导致全量数据复制到每个worker,这对于大型数据集而言效率低下且耗时。CoGroupByKey则通过将具有相同键的数据分组,并将其发送到同一个worker进行处理,从而避免了数据复制,实现了更高效的分布式连接。 其他选项: 将输入文件切换为压缩的Avro格式:虽然Avro是高效的二进制格式,但它主要优化了存储和读取效率,对Dataflow连接操作的性能提升有限,尤其是在SideInput本身是瓶颈的情况下。 减小批处理大小:这通常会增加作业的开销,因为需要处理更多的批次,反而可能降低整体吞吐量。 重试抛出错误的记录:这与管道的性能优化无关,而是错误处理策略。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡