一.原因分析
根据是使用java集合还是scala数据集原因也不尽相同。
1.java集合
因为 Java 集合类型在 Scala 操作时没有 foreach 方法。
2.scala数据集
一般为scala版本与spark版本不兼容导致!
二.解决方案
1.java集合
需要将其转换为Scala的集合类型, 因此需要在代码中加入如下内容(Scala支持与Java的隐式转换):
import scala.collection.JavaConversions._
2.scala数据集
调整scala版本。spark1.x一般使用scala2.10.x,spark2.x一般使用scala2.11.x。