对于 MapReduce 作业生成的临时数据应保留未使用的 HDFS 空间量,是否有通用公式或最佳实践估计?这对于 Cloudera 和 MapR 等不同供应商有何变化?当我调整 Pig 脚本时,我有一些作业将我的集群从 20GB 增加到 60GB 并再次返回用于小型测试作业。我问这个问题是为了集群规划。
影响这一决定的因素是什么?我假设 reducer 的数量在生成的临时数据量、工作的特殊性中起作用(例如,如果我有一个包含 20 条语句的 Pig 脚本,我注意到临时数据没有被删除直到所有 20 条语句都已执行;如果我想最小化临时数据,我应该将 20 条语句分成 3 个脚本文件并连续运行),以及其他因素。