是否可以将StringType列强制转换为spark数据帧中的ArrayType列?
df.printSchema() 给出了这一点
df.printSchema()
Schema - > a:string(nullable = true)
现在我想将其转换为
a:array(nullable = true)
正如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)
1 回答
正如elisiah评论的那样,你必须拆分你的字符串 . 您可以使用UDF:
给出输出: