scala 在取seq.max,报错 Caused by: java.lang.UnsupportedOperationException: empty.max
百度了很久,发现可能是因为同个迭代器只能使用一次,参考文档:http://blog.csdn.net/love666666shen/article/details/79202121
可以使用Iterator的 min 和 max 方法从迭代器中查找最大与最小元素。但好像同一个迭代器只能使用一次,以为Iterator的max和min方法是TraversableOnce(可遍历一次,遍历过一次之后迭代器就变为空的了)类型的,所以当第二次调用同样的方法,或第一次调用max方法第二次调用min方法时,第二次调用的方法会出现下面的错误
最后发现是 :
写的处理seq的方法中忽略了seq为空的情况,在udf调用该方法时就会报错。
!!!写udf的时候,必须考虑变量是否为空的情况!!!