我在spark 2.0和scala中使用GraphFrame。
我需要从字符串类型的列中删除双引号(在许多列中)。 我尝试使用UDF执行此操作,如下所示:
import org.apache.spark.sql.functions.udf
val removeDoubleQuotes = udf( (x:Any) =>
x match{
case s:String => s.replace("\"","")
case other => other
}
)
我收到以下错误,因为GraphFrame不支持Any类型。
java.lang.UnsupportedOperationException:类型为Any的架构不是 支持的
该解决方法是什么?
答案 0 :(得分:0)
我认为您没有类型为Any
的列,并且您无法从udf
返回不同的数据类型。您需要从udf
返回单个数据类型。
如果您的列是字符串,那么您可以创建udf
作为
import org.apache.spark.sql.functions.udf
val removeDoubleQuotes = udf( (x:String) => s.replace("\"",""))