标题说明了一切:
是否有等效LATERAL VIEW
于 Spark API 中的 SPARK SQL 命令,以便我可以从包含多列数据结构的 UDF 生成列,然后将结构中的列横向扩展为父数据帧作为单独的列?
相当于df.select(expr("LATERAL VIEW udf(col1,col2...coln)"))
标题说明了一切:
是否有等效LATERAL VIEW
于 Spark API 中的 SPARK SQL 命令,以便我可以从包含多列数据结构的 UDF 生成列,然后将结构中的列横向扩展为父数据帧作为单独的列?
相当于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")
基本上使用元组表示法将值从列中提取到新的离散列中。