Spark : Spark API 中是否有相当于 spark SQL 的 LATERAL VIEW?

Spark : Is there an equivalent to spark SQL's LATERAL VIEW in the Spark API?

标题说明了一切:

在 Spark API 中是否有与 SPARK SQL LATERAL VIEW 命令等效的命令,以便我可以从包含多列结构的 UDF 生成一个列数据,然后将结构中的列作为单独的列横向扩展到 parent 数据帧中?

等同于df.select(expr("LATERAL VIEW udf(col1,col2...coln)"))

我通过将 udf 选择到列中解决了这个问题:

val dfWithUdfResolved = dataFrame.select(calledUdf()).as("tuple_column"))

...然后...

dfWithUdfResolved
  .withColumn("newCol1", $"tuple_column._1")
  .withColumn("newCol2", $"tuple_column._2")
  // ...
  .withColumn("newColn", $"tuple_column._n")

基本上使用元组表示法将列中的值提取到新的离散列中。