繁体   English   中英

将 Stringtype 转换为 ArrayType

[英]Cast Stringtype to ArrayType

是否可以将 StringType 列转换为 spark 数据框中的 ArrayType 列?

df.printSchema()给出了这个

架构 ->
一个:字符串(可为空=真)

现在我想将其转换为

a:数组(可为空=真)

正如Elisiah评论的那样,您必须拆分字符串。 您可以使用 UDF:

    df.printSchema

    import org.apache.spark.sql.functions._

    val toArray = udf[Array[String], String]( _.split(" "))
    val featureDf = df
      .withColumn("a", toArray(df("a")))  

    featureDF.printSchema

给出输出:

root  
 |-- a: string (nullable = true)

root
 |-- a: array (nullable = true)
 |    |-- element: string (containsNull = true)

简单地将任何column包装在functions.array另一种选择。

df.withColumn("a", functions.array(col("a")))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM