我有一个pig脚本,可以记录diff应用程序的处理并计算一些指标。在它运行时,我观察到一些映射器与其他映射器相比,单独使用更多的时间/分割。 例如,如果有25个映射器,21个将在2或3分钟内完成,剩下的4个需要30分钟。我想知道什么可能导致这种偏斜以及如何解决它?
我的任务的简单版本如下。 这个Pig脚本遍历来自不同应用程序的大量日志文件。对于每个日志,它使用正则表达式解析数据并报告流量计数,每小时各种维度的平均响应时间等指标
代码真的很长,每个都有多个过滤器,一个连接和一个一个具有多个维度的大型GROUP BY如下。 C3 = GROUP C2 by(appName,timestamp,consumerId,resourceName,methodName,apiName,manifestId,version,siteId,status);
似乎我正在处理的输入文件格式控制分割大小,每个分割的大小不同。所以我对分裂没有多少控制权。我尝试不使用pig.noSplitCombination组合拆分 如果是这样,但结果仍然相同。
更新:无法继续提供更多解决方案。这也不是数据偏差问题。无论如何,删除连接中使用的一些空值有助于一些。但问题仍然存在。保持问题开放