4

我是 Hadoop 新手,对我的 pig 脚本中的命令行消息感到好奇。

Total records written : 7676
Total bytes written : 341396
Spillable Memory Manager spill count : 103
Total bags proactively spilled: 39
Total records proactively spilled: 32389322

最终结果被指示为“成功!”。我仍然不确定。上面这些数字是什么意思?

谢谢。

4

1 回答 1

5

前两个显示您的 MR 作业写入 HDFS 的总记录/字节。
可能会发生,在 MR 作业期间,并非所有记录都适合内存。溢出计数器指示有多少记录已写入数据节点的本地磁盘,以避免内存不足。

Pig 使用两种方法来控制内存使用并在必要时进行溢出:

1. 可溢出内存管理器

这就像注册可溢出袋的中心位置。如果内存不足,此管理器会遍历已注册包的列表并执行GC.


2.主动(自我)溢出:

如果达到内存限制,包也会自行溢出(请参阅pig.cachedbag.memusage


回到你拥有的统计数据:

  • 主动溢出的袋子总数:已溢出的袋子数
  • 主动泄露的记录总数:这些袋子中的记录数

检查工作的溢出统计数据总是好的,因为大量溢出可能表明需要避免的巨大性能损失。

于 2012-09-16T15:09:56.770 回答