Mapreduce二次排序时,将jar包上传至Hadoop上运行时,抛出异常"java.util.NoSuchElementException"

查询原因后发现是java中实现实现Mapper时StringTokenizer 类时使用了一个方法nextToken()会抛出这个异常,

”我们可以使用 hasMoreTokens()hasMoreElements() 方法来避免异常。如果标记器的字符串中有更多标记可用,则这两种方法都返回 true。只有当 hasMoreTokens() 方法返回 True 时,我们才应该调用 nextToken() 方法。“

有博文给出了一定的解释"https://www.delftstack.com/zh/howto/java/java-nosuchelementexception/",

部分代码更改前:

 参照"https://blog.csdn.net/hellojoy/article/details/120913668"更改后

 ,之后将jar包重新打包上传运行,成功运行,查看运行结果如下:

 

posted @ 2023-05-02 16:11  文明sh  阅读(14)  评论(0编辑  收藏  举报