标题说明一切:有没有一个等价于sparksql的方法 LATERAL VIEW 命令,以便我可以从包含多列数据的结构的udf生成一个列,然后将结构中的列作为单独的列横向分布到父Dataframe中?相当于 df.select(expr("LATERAL VIEW udf(col1,col2...coln)"))
LATERAL VIEW
df.select(expr("LATERAL VIEW udf(col1,col2...coln)"))
fzwojiic1#
我通过选择列中的自定义项来解决这个问题: val dfWithUdfResolved = dataFrame.select(calledUdf()).as("tuple_column")) ... 然后。。。
val dfWithUdfResolved = dataFrame.select(calledUdf()).as("tuple_column"))
dfWithUdfResolved .withColumn("newCol1", $"tuple_column._1") .withColumn("newCol2", $"tuple_column._2") // ... .withColumn("newColn", $"tuple_column._n")
基本上使用元组表示法将值从列中拉到新的离散列中。
1条答案
按热度按时间fzwojiic1#
我通过选择列中的自定义项来解决这个问题:
val dfWithUdfResolved = dataFrame.select(calledUdf()).as("tuple_column"))
... 然后。。。基本上使用元组表示法将值从列中拉到新的离散列中。