一些如何在Spark2.0,我可以使用Dataframe.map(r => r.getAs[String]("field"))
没有问题Spark2.0中的Dataset.map(r => xx)和Dataframe.map(r => xx)有什么区别?
但DataSet.map(r => r.getAs[String]("field"))
给出错误r
不具备“getAs”的方法。
是什么在DataSet
和r
在DataFrame
r
之间的差异,为什么r.getAs
只有DataFrame
的作品?
在StackOverflow上做了一些研究之后,我发现了一个有用的答案在这里
Encoder error while trying to map dataframe row to updated row
希望它有助于
它们是什么类型的数据集? 'getAs'是'Row'上的一个方法,所以你只能使用'r.getAs','r'是'Row''(即你的数据集是'DataSet [Row]',注意'DataFrame'只是'DataSet [Row]'的别名) – puhlen
谢谢。我使用了数据集[_]。当我做DataSet.map(r => xx)时,什么是r?它是一排数据吗? @puhlen – rileyss
不,'r'是'Any',因为你没有指定它的类型 – puhlen