我一直在嘗試在oozie上運行Avro map-reduce。我在workflow.xml中指定了mapper和reducer類,並提供了其他配置。但是它給出了一個Avro Map-Reduce on oozie
java.lang.RunTime Exception - class mr.sales.avro.etl.SalesMapper not org.apache.hadoop.mapred.Mapper
在Hadoop集羣上直接運行(而不是通過Oozie的)被完成,並得到所需的輸出相同的工作。所以我可能會錯過一些oozie配置。我從異常中得出的結論是oozie要求映射器是org.apache.hadoop.mapred.Mapper
的子類,但是Avro映射器有不同的簽名 - 它們擴展了org.apache.avro.mapred.AvroMapper,這可能是導致錯誤的原因。
所以我的問題是如何配置oozie工作流程/屬性文件以允許它運行Avro map-reduce作業。
感謝您的答覆。我可以通過oozie使作業運行,但輸出似乎不是二進制avro格式 - 它看起來像一個文本文件,其中有條目[email protected] 你可以建議如果發生了什麼問題?因爲在我手動提交的工作中,輸出看起來不同。我已經在workflow.xml中指定了輸出文件 –
那麼我錯過了指定output.format參數。它在我指定它時起作用。 –
哈斯哈爾可以請你把一個workflow.xml的樣本謝謝 – Richipal