spark中遇到Exception in thread "main" java.util.NoSuchElementException: key not found

这个问题如果是一般的java或scala项目,这个问题当然没什么好说的,就是找不到对应的键,但是我遇到的问题是在spark中,而且我确定不会出现键找不到的问题,所以一定是有其他问题.

首先,我spark项目中的所有任务都已经完成了以后才报错,这一点很值得思考,然后从spark的机制来看,很可能是我的集群中的某个节点没有访问到我的map,所以会出现这个问题,

我的代码中,出问题的map的键类型是String,但是因为一些原因,我并没有直接将键写作本来的字符串,而是利用其他的含有相同字面量的字符串变量,才导致这个问题,问题的原因我猜测是因为在集群中,我的本地变量经过这样的转换导致对应的字面量找不到,才发生这样的错误,解决的办法,就是直接用字符串代替map中的变量,这样问题就解决了

猜你喜欢

转载自blog.csdn.net/qq_36865108/article/details/81589942