簡體   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