У меня есть поле DataFrame, которое является Seq[Seq[String]]
Я построил UDF для преобразования указанного столбца в столбец Seq [String];в основном, UDF для функции flatten
из Scala.
def combineSentences(inCol: String, outCol: String): DataFrame => DataFrame = {
def flatfunc(seqOfSeq: Seq[Seq[String]]): Seq[String] = seqOfSeq match {
case null => Seq.empty[String]
case _ => seqOfSeq.flatten
}
df: DataFrame => df.withColumn(outCol, udf(flatfunc _).apply(col(inCol)))
}
Мой вариант использования - строки, но, очевидно, это может быть общим.Вы можете использовать эту функцию в цепочке преобразований DataFrame, таких как:
df.transform(combineSentences(inCol, outCol))
Есть ли встроенная функция Spark, которая делает то же самое?Я не смог найти один.