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")