gpt4 book ai didi

hadoop - 如何从 Hadoop 日志中找到中间输出字节大小并减少输出字节大小?

转载 作者:可可西里 更新时间:2023-11-01 16:31:14 25 4
gpt4 key购买 nike

如何从 hadoop 日志中估计 Mappers 的总中间输出大小(以字节为单位)和 Reducers 的总输出大小(以字节为单位)?

我的映射器和缩减器使用 LZO 压缩,我想知道压缩后映射器/缩减器输出的大小。

15/06/06 17:19:15 INFO mapred.JobClient:  map 100% reduce 94%
15/06/06 17:19:16 INFO mapred.JobClient: map 100% reduce 98%
15/06/06 17:19:17 INFO mapred.JobClient: map 100% reduce 99%
15/06/06 17:20:04 INFO mapred.JobClient: map 100% reduce 100%
15/06/06 17:20:05 INFO mapred.JobClient: Job complete: job_201506061602_0026
15/06/06 17:20:05 INFO mapred.JobClient: Counters: 30
15/06/06 17:20:05 INFO mapred.JobClient: Job Counters
15/06/06 17:20:05 INFO mapred.JobClient: Launched reduce tasks=401
15/06/06 17:20:05 INFO mapred.JobClient: SLOTS_MILLIS_MAPS=1203745
15/06/06 17:20:05 INFO mapred.JobClient: Total time spent by all reduces waiting after reserving slots (ms)=0
15/06/06 17:20:05 INFO mapred.JobClient: Total time spent by all maps waiting after reserving slots (ms)=0
15/06/06 17:20:05 INFO mapred.JobClient: Rack-local map tasks=50
15/06/06 17:20:05 INFO mapred.JobClient: Launched map tasks=400
15/06/06 17:20:05 INFO mapred.JobClient: Data-local map tasks=350
15/06/06 17:20:05 INFO mapred.JobClient: SLOTS_MILLIS_REDUCES=6642599
15/06/06 17:20:05 INFO mapred.JobClient: File Output Format Counters
15/06/06 17:20:05 INFO mapred.JobClient: Bytes Written=534808008
15/06/06 17:20:05 INFO mapred.JobClient: FileSystemCounters
15/06/06 17:20:05 INFO mapred.JobClient: FILE_BYTES_READ=247949371
15/06/06 17:20:05 INFO mapred.JobClient: HDFS_BYTES_READ=168030609
15/06/06 17:20:05 INFO mapred.JobClient: FILE_BYTES_WRITTEN=651797418
15/06/06 17:20:05 INFO mapred.JobClient: HDFS_BYTES_WRITTEN=534808008
15/06/06 17:20:05 INFO mapred.JobClient: File Input Format Counters
15/06/06 17:20:05 INFO mapred.JobClient: Bytes Read=167978609
15/06/06 17:20:05 INFO mapred.JobClient: Map-Reduce Framework
15/06/06 17:20:05 INFO mapred.JobClient: Map output materialized bytes=354979707
15/06/06 17:20:05 INFO mapred.JobClient: Map input records=3774768
15/06/06 17:20:05 INFO mapred.JobClient: Reduce shuffle bytes=354979707
15/06/06 17:20:05 INFO mapred.JobClient: Spilled Records=56007636
15/06/06 17:20:05 INFO mapred.JobClient: Map output bytes=336045816
15/06/06 17:20:05 INFO mapred.JobClient: Total committed heap usage (bytes)=592599187456
15/06/06 17:20:05 INFO mapred.JobClient: CPU time spent (ms)=9204120
15/06/06 17:20:05 INFO mapred.JobClient: Combine input records=0
15/06/06 17:20:05 INFO mapred.JobClient: SPLIT_RAW_BYTES=52000
15/06/06 17:20:05 INFO mapred.JobClient: Reduce input records=28003818
15/06/06 17:20:05 INFO mapred.JobClient: Reduce input groups=11478107
15/06/06 17:20:05 INFO mapred.JobClient: Combine output records=0
15/06/06 17:20:05 INFO mapred.JobClient: Physical memory (bytes) snapshot=516784615424
15/06/06 17:20:05 INFO mapred.JobClient: Reduce output records=94351104
15/06/06 17:20:05 INFO mapred.JobClient: Virtual memory (bytes) snapshot=1911619866624
15/06/06 17:20:05 INFO mapred.JobClient: Map output records=28003818

最佳答案

您可以使用 FileSystemCounters 获取这些信息。此计数器中使用的术语的详细信息如下:

FILE_BYTES_READ 是本地文件系统读取的字节数。假设所有 map 输入数据都来自 HDFS,那么在 map 阶段 FILE_BYTES_READ 应该为零。另一方面,reducer 的输入文件是从 map 端磁盘获取的 reduce 端本地磁盘上的数据。因此,FILE_BYTES_READ 表示 reducer 读取的总字节数。

FILE_BYTES_WRITTEN 由两部分组成。第一部分来自映射器。所有映射器都会将中间输出溢出到磁盘。映射器写入磁盘的所有字节都将包含在 FILE_BYTES_WRITTEN 中。第二部分来自 reducer 。在 shuffle 阶段,所有的 reducer 将从映射器中获取中间数据并合并并溢出到 reducer 端磁盘。 reducer 写入磁盘的所有字节也将包含在 FILE_BYTES_WRITTEN 中。

HDFS_BYTES_READ 表示作业开始时映射器从 HDFS 读取的字节数。此数据不仅包括源文件的内容,还包括有关拆分的元数据。

HDFS_BYTES_WRITTEN 表示写入 HDFS 的字节数。就是最终输出的字节数。

关于hadoop - 如何从 Hadoop 日志中找到中间输出字节大小并减少输出字节大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30907935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com