【问题标题】:"WrappedArray$ofRef cannot be cast to String" Exception in Java SparkJava Spark 中的“WrappedArray$ofRef 无法转换为字符串”异常
【发布时间】:2020-12-01 08:51:03
【问题描述】:

在使用 Spark Java 编写时,我在访问 Dataframe 的一行行时遇到了这个错误。我不明白为什么 WrappedArray 是从 Row 而不是普通数组中检索的。

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。 如何解决这个问题?

【问题讨论】:

    标签: java apache-spark apache-spark-sql


    【解决方案1】:

    WrappedArray 需要先转换为 Java 列表,然后再转换为 Array。代码示例:

    import scala.collection.JavaConversions;
    
    String[] myarray;
    myarray = JavaConversions.seqAsJavaList(my_df_row.getAs("col_name")).toArray(myarray);
    

    【讨论】:

      猜你喜欢
      • 2021-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-18
      • 2016-04-04
      • 1970-01-01
      • 2011-11-01
      相关资源
      最近更新 更多