简体   繁体   English

没有映射器或化简器的作业

[英]jobs run with no mappers or reducers

I have written a job using scalding that runs great in local mode. 我写了一份使用缩放的作业,该缩放在本地模式下运行良好。 But when I try to execute it in hdfs mode (on the same file), it doesn't do anything. 但是,当我尝试以hdfs模式(在同一文件上)执行它时,它什么也没做。 More precisely, the first step has no tasks (mappers nor reducers) and the steps afterwards obviously do nothing. 更准确地说,第一步没有任何任务(映射器或简化器),而随后的步骤显然没有任何作用。

I tried grepping the logs for exceptions and also wrap my code in try-catch (in scalding the job definition is in the constructor and I also wrapped the run method). 我尝试过将日志记录为异常,也将我的代码包装在try-catch中(缩放工作定义在构造函数中,并且我还包装了run方法)。

Maybe for some reason cascading decides to ignore the input file? 也许出于某种原因,级联决定忽略输入文件? It is an Avro deflate file. 这是一个Avro放气文件。

UPDATE: Digging more, I can see this line: 更新:挖掘更多,我可以看到以下行:

2014-04-28 04:49:23,954 INFO org.apache.hadoop.mapred.JobInProgress: Input size for job job_201404280448_0001 = 0. Number of splits = 0

In the job xml, the mapred.input.dir property is set to the path to my file. 在作业xml中,将mapred.input.dir属性设置为文件的路径。

It looks like JobInProgress is getting its info from mapred.job.split.file which doesn't exists in the job xml file 看来JobInProgress正在从mapred.job.split.file获取其信息,该信息在job xml文件中不存在

It turns out that my avro file is named sample.avro.deflate. 原来,我的Avro文件名为sample.avro.deflate。 Avro, 1.7.4, silently ignores any input files that don't end with '.avro'. Avro 1.7.4会静默忽略所有不以'.avro'结尾的输入文件。 In 1.7.6, they added a property avro.mapred.ignore.inputs.without.extension 在1.7.6中,他们添加了一个属性avro.mapred.ignore.inputs.without.extension

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM