select

 

 

 

 

 

 

 

 爲何成功了得不到數據結果,懷疑輸入文件數據有問題,唉····java

今天又嘗試了不少回,總結就是用.bz2數據文件時,雖然會運行成功,可是生成的輸出文件沒有內容,而我也發現map input  records=0(不正常啊),而用.txt和.csv數據文件輸入時,運行過程就會有以下錯誤,做業由於任務失敗而失敗。apache

 

 後面終於在網上查找解決辦法時,腦瓜子靈光了,去查看日誌文件,果真,我立刻懂了本身錯的緣由:我打包jar的時候不是打包的整個項目,而是隻打包了一個類,而這個類調用了其餘類中的方法,這裏這個其餘類指的就是AirlineDataUtils,因此運行就會有錯。app

 020-07-05 19:03:08,080 FATAL [uber-SubtaskRunner] org.apache.hadoop.mapred.LocalContainerLauncher: Error running local (uberized) 'child' : java.lang.NoClassDefFoundError: org/apress/prohadoop/utils/AirlineDataUtils
    at org.apress.prohadoop.c5.SelectClauseMRJob$SelectClauseMapper.map(SelectClauseMRJob.java:29)
    at org.apress.prohadoop.c5.SelectClauseMRJob$SelectClauseMapper.map(SelectClauseMRJob.java:1)
    at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:146)
    at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:793)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
    at org.apache.hadoop.mapred.LocalContainerLauncher$EventHandler.runSubtask(LocalContainerLauncher.java:436)
    at org.apache.hadoop.mapred.LocalContainerLauncher$EventHandler.runTask(LocalContainerLauncher.java:350)
    at org.apache.hadoop.mapred.LocalContainerLauncher$EventHandler.access$200(LocalContainerLauncher.java:211)
    at org.apache.hadoop.mapred.LocalContainerLauncher$EventHandler$1.run(LocalContainerLauncher.java:254)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: org.apress.prohadoop.utils.AirlineDataUtils
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
    ... 14 moreoop

這是select運行成功後,Map input records終於再也不是0了
.net

 

 查看生成的輸出文件,下面是最後幾行日誌

相關文章
相關標籤/搜索