首页 > 解决方案 > 计数后 Spark 作业快速运行

问题描述

我有一个 scala 作业,它的 CDC 记录很少(10K 记录),作为合并作业的一部分,它从具有 400 万个成员的其他 Hive 表中进行成员匹配(400 万),从具有 100 万个成员的其他 Hive 表中匹配提供者提供者和一堆其他东西(回收逻辑/拒绝逻辑)通常需要大约 30 分钟才能完成。使用相同的音量,我在每个模块之后添加了操作(count(*)),以了解哪个模块需要更多时间,但是在使用操作后,它在 6 分钟内完成。通常根据最佳实践,我们不应该经常使用动作,但是我不明白是什么让工作运行得很快?任何带有解释的链接都会有所帮助。

是不是因为资源可能在每个模块执行后由于动作而被释放,所以它使整个工作运行得很快。

我的集群是 6 个节点,有 13 核机器和 64GB 内存,但是还有其他进程也在运行..所以它通常被过度使用。

标签: scalaapache-sparkhiveapache-spark-sqlcloudera

解决方案


推荐阅读