zoukankan      html  css  js  c++  java
  • select

     

     

     

     为什么成功了得不到数据结果,怀疑输入文件数据有问题,唉····

    今天又尝试了很多回,总结就是用.bz2数据文件时,虽然会运行成功,但是生成的输出文件没有内容,而我也发现map input  records=0(不正常啊),而用.txt和.csv数据文件输入时,运行过程就会有如下错误,作业因为任务失败而失败。

     后面终于在网上查找解决办法时,脑瓜子灵光了,去查看日志文件,果然,我马上懂了自己错的原因:我打包jar的时候不是打包的整个项目,而是只打包了一个类,而这个类调用了其他类中的方法,这里这个其他类指的就是AirlineDataUtils,所以运行就会有错。

     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 more

    这是select运行成功后,Map input records终于不再是0了

     查看生成的输出文件,下面是最后几行

  • 相关阅读:
    使用uibesizerpath + Cashaplayer画椭圆
    国庆节,回乡
    慎用单例
    终于碰到iOS对象集合深拷贝的坑
    Oracle 按表名导出数据
    代理模式(Proxy Pattern)
    享元模式(Flyweight Pattern)
    外观模式(Facade Pattern)
    组合模式
    装饰者模式
  • 原文地址:https://www.cnblogs.com/y-c-m520/p/13227835.html
Copyright © 2011-2022 走看看