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的時候,必須考慮變量是否為空的情況!!!