对于mapreduce bechmarks,当我运行完它们时,我是否能够分别知道输入/洗牌/输出数据的大小?

ugmeyewa  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(272)

我读了一些关于分析工作负载输入/洗牌/输出数据大小的论文。所以我有一个问题,在我运行完testdfsio、teragen、terasort、teravalidate和wordcount基准测试之后,我能分别知道输入/洗牌/输出数据的大小吗?
例如,如果我运行:
测试文件,
hadoop jar hadoop-test.jar testdfsio-write-nrfiles 10-filesize 1000
hadoop jar hadoop-test.jar testdfsio-read-nrfiles 10-filesize 1000
特拉索特,
hadoop jar hadoop-examples.jar teragen 1000000000输出目录
hadoop jar hadoop-examples.jar terasort输入目录输出目录
hadoop jar hadoop-examples.jar teravalidate terasort output dir(=输入数据)teravalidate输出目录
每个基准的输入/洗牌/输出数据大小是多少?
谢谢您!

rkkpypqq

rkkpypqq1#

是的,你可以。不过,由于你的问题太宽泛,我将举几个例子来说明 TestDFSIO 仅用于测量hdfs数据传输性能。
testdfsio支持以下参数: -read | -write | -clean [-nrFiles N] [-fileSize MB] [-resFile resultFileName] [-bufferSize Bytes] .
现在,在对读操作进行基准测试之前,您必须编写一些 hadoop jar hadoop-test-1.2.1.jar TestDFSIO -read -nrFiles 10 -fileSize 100 . 在这里 fileSize 是一个文件的输入大小,乘以 nrFiles100*10 mb = 1000mb 在hdfs上。您可以在下面找到输出文件的确切大小 /benchmarks/TestDFSIO/io_data 目录。
您还将看到一些其他目录-io挈u控件(包含读取或写入的文件名和文件大小)。
关于洗牌-这是一个中间操作。因此,要了解它,只需查看mapreduce运行时控制台的输出,或者您可以去jobtracker的ui查看它。
并且,写入操作的输入由testdfsio类生成。它只是由 mod operation based on buffersize .
还将生成一个日志文件,其中包含io和吞吐量统计信息。
希望这澄清了一些东西,给你一个开端。有很多基准,你可以进一步探索。

相关问题