Error:(39, 37) No implicit Ordering defined for org.apache.spark.sql.Row.

2016-11-09 17:00:03   作者:MangoCool   来源:MangoCool

代码:

df.select("col").rdd.max()
编译报错:
Error:(39, 37) No implicit Ordering defined for org.apache.spark.sql.Row.
      df.select("col").rdd.max()

原因:

df是DataFrame,转RDD之后类型是RDD[Row],Row类型是引用类型,做max操作的时候内部做排序,引用类型无法完成排序,所以报错。

解决:

df.select("col").rdd.map(r => r.getAs[Double]("col")).max()

标签: spark scala error

分享:

上一篇org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException): Permission denied: user=MANGOCOOL, access=WRITE, inode="/user/MANGOCOOL":hadoop:supergroup:drwxr-xr-x

下一篇Unable to find encoder for type stored in a Dataset.

关于我

一个喜欢唱歌,热衷旅行,爱好电子产品的java码农。没事,跟三五好友吼上几嗓子,约上几个背着行囊去露营或者宅在家里抱着孩子敲代码。

座右铭:当你的才华还撑不起你的野心的时候,你就应该静下心来学习,永不止步!

            人生之旅历途甚长,所争决不在一年半月,万不可因此着急失望,招精神之萎葸。


Copyright 芒果酷(mangocool.com) All rights reserved. 湘ICP备14019394号

免责声明:本网站部分文章转载其他媒体,意在为公众提供免费服务。如有信息侵犯了您的权益,可与本网站联系,本网站将尽快予以撤除。