Java Spark

问题描述

用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);