0

标题说明了一切:

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

相当于df.select(expr("LATERAL VIEW udf(col1,col2...coln)"))

4

1 回答 1

0

我通过将 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")

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

于 2021-02-26T17:30:56.297 回答