Exception in thread "main" : No Encoder found for Any

时间:2025-04-09 11:57:55
Exception in thread "main" : No Encoder found for Any
- field (class: "", name: "_1")
- root class: "scala.Tuple3"
	at $.org$apache$spark$sql$catalyst$ScalaReflection$$serializerFor(:598)
	at $$anonfun$(:592)
	at $$anonfun$(:583)
	at $$anonfun$flatMap$(:241)
	at $$anonfun$flatMap$(:241)
	at (:381)
	at $(:241)
	at (:344)
	at $.org$apache$spark$sql$catalyst$ScalaReflection$$serializerFor(:583)
	at $.serializerFor(:425)
	at $.apply(:61)
	at $.product(:274)
	at (:47)
	at $.main(:37)
	at ()

上面是报错信息

val LineFlow = ("InRoadNoInStationNo","OutRoadNoOutStationNo").count().map(s => (s(0),s(1),s(2))).toDF("InRoadNoInStationNo","OutRoadNoOutStationNo","count")
这是我的代码

在网上看了一些相关的解决办法,都跟我的不一样。我觉得应该这里问题应该出在map上面

解决方法就是去掉中间的map

val LineFlow = ("InRoadNoInStationNo","OutRoadNoOutStationNo").count().toDF("InRoadNoInStationNo","OutRoadNoOutStationNo","count")