我在大约 1.22 GB 的文件上运行 Pig 脚本。默认块大小为 64MB。我有 4 个数据节点。作为输出的 Pig 脚本会生成 19 个文件。
当我运行 Pig 脚本并查看 Job Tracker 时,我看到了 6 个 Jobs。
Jobid Priority User Name Map % Complete Map Total Maps Completed Reduce % Complete Reduce Total Reduces Completed Job Scheduling Information Diagnostic Info
job_201207121202_0001 NORMAL user PigLatin:Analysis.pig 100.00% 20 20 100.00% 1 1 NA NA
job_201207121202_0002 NORMAL user PigLatin:Analysis.pig 100.00% 5 5 100.00% 1 1 NA NA
job_201207121202_0003 NORMAL user PigLatin:Analysis.pig 100.00% 2 2 100.00% 1 1 NA NA
job_201207121202_0004 NORMAL user PigLatin:Analysis.pig 100.00% 2 2 100.00% 1 1 NA NA
job_201207121202_0005 NORMAL user PigLatin:Analysis.pig 100.00% 5 5 100.00% 1 1 NA NA
job_201207121202_0006 NORMAL user PigLatin:Analysis.pig 100.00% 5 5 100.00% 1 1 NA NA
根据我的理解,由于输入文件大小为 1.22 GB,而块大小为 64 MB,因此将为该文件创建总共 20 个块。我的复制因子为 3。由于每次拆分都会有一个地图作业,因此我将有 20 个地图作业,并且 job_201207121202_0001 作业在上面的列表中说是完美的。但是为什么我看到其他 5 个工作和其他 19 个地图任务?
谁能帮我理解这一点。我以为它只有 20 个 map 和 1 个 reduce 工作,因为 1.22GB/64MB ~ 20。
我是 Pig/Hadoop 初学者。非常感谢您的帮助。