DataProc 处理时间超过 3 小时,比预期的不到 15 分钟

Posted

技术标签:

【中文标题】DataProc 处理时间超过 3 小时,比预期的不到 15 分钟【英文标题】:DataProc is taking more than 3 hrs to process than expected less than 15 mins 【发布时间】:2021-06-01 08:21:23 【问题描述】:

我已经迁移了一部分 C 应用程序以使用 PySpark 作业在 DataProc 上进行处理(读取和写入 Big Query - 数据量 - 大约 10 GB)。在本地数据中心运行 8 分钟的 C 应用程序在 Data Proc 上大约需要 4 小时。有人可以告诉我最佳的 Data Proc 配置吗?目前我正在使用以下一个:

--master-machine-type n2-highmem-32 --master-boot-disk-type pd-ssd --master-boot-disk-size 500 --num-workers 2 --worker-machine-type n2-highmem-32 --worker-boot-disk-type pd-ssd --worker-boot-disk-size 500 --image-version 1.4-debian10

非常感谢有关优化数据处理配置的任何帮助。

谢谢, 反相

【问题讨论】:

您的数据中心的硬件配置是什么?您正在指定`--num-workers 2`。对于受益于并行化的作业,如果考虑到作业开销,两个工作节点将不会提供太多好处。使用环境和正在执行的代码的详细信息编辑您的问题。作为提示,n2-highmem-32 是一个小型 VM。我的桌面可能快 10 倍。比较系统时,在内存、CPU、网络和磁盘 I/O 方面比较相同的系统。 您可以分享用于在 Datparoc 上运行此作业的命令吗?另外,如何在 Spark 中并行处理?处理了哪些数据以及如何对其进行分区? 【参考方案1】:

这里有一些关于 Dataproc 作业性能调整的好文章:Spark job tuning tips 和 10 questions to ask about your Hadoop and Spark cluster performance。

【讨论】:

以上是关于DataProc 处理时间超过 3 小时,比预期的不到 15 分钟的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 查询查找记录的处理时间超过 24 小时

内置异常长度比预期短?

Dataproc 集群最多可并行运行 5 个作业,忽略可用资源

CUDA 速度比预期慢 - 图像处理

对 setTimeout 的并发调用导致比预期更多的延迟

GCP Dataproc 节点中没有资源来启动新的 SparkSession