问题描述
用Spark Java编写时,在访问数据框行的一列时遇到此错误。我不明白为什么从行而不是普通数组中检索WrappedArray
。
java.lang.classCastException: class scala.collection.mutable.WrappedArray$ofRef cannot be cast to class [Ljava.lang.String
示例代码: String [] myarray = my_df_row.getAs(“ col_name”);
我需要Java代码,而不是scala或python。 如何解决这个问题?
解决方法
需要将WrappedArray转换为Java列表,然后转换为Array。代码示例:
import scala.collection.JavaConversions;
String[] myarray;
myarray = JavaConversions.seqAsJavaList(my_df_row.getAs("col_name")).toArray(myarray);