0
我寫這個scala程序爲字數。和主類如下斯卡拉mapreduce WordCount程序
object aaa{
def main(args:Array[String]) : Int = {
val conf = new Configuration()
val otherArgs = new GenericOptionsParser(conf, args).getRemainingArgs
if (otherArgs.length != 2) {
println("Usage: wordcount <in> <out>")
return 2
}
val job = new Job(conf, "word count")
job.setJarByClass(classOf[TokenizerMapper])
job.setMapperClass(classOf[TokenizerMapper])
job.setCombinerClass(classOf[IntSumReducer])
job.setReducerClass(classOf[IntSumReducer])
job.setOutputKeyClass(classOf[Text])
job.setOutputValueClass(classOf[IntWritable])
FileInputFormat.addInputPath(job, new Path(args(0)))
FileOutputFormat.setOutputPath(job, new Path((args(1))))
if (job.waitForCompletion(true)) 0 else 1
}
}
在這裏,我得到一個警告給出: 「AAA與參數類型數組[字符串]一個主要方法,但Hadooop.aaa不會是一個可運行的程序。原因:主要方法必須具有確切的簽名(數組[String])單位「。
如何解決這個問題?另外我無法在RunConfiguration中加載這個類。請幫我解決這個問題。
如果'main()'簽名必須是「(Array [String])Unit」,那麼你不能從它返回任何值。刪除你的返回值[0,1和2],看看會發生什麼。 – jwvh
已移除並警告已修復。但不能在RunConfiguration中加載這個類。 –
「但是無法在RunConfiguratio中加載此類」嘗試時會發生什麼?不要讓我們猜測 –