如何在Spark中将数组分解为多列 [英] How to explode an array into multiple columns in Spark
本文介绍了如何在Spark中将数组分解为多列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个Spark数据框,看起来像:
I have a spark dataframe looks like:
id DataArray
a array(3,2,1)
b array(4,2,1)
c array(8,6,1)
d array(8,2,4)
我想将此数据帧转换为:
I want to transform this dataframe into:
id col1 col2 col3
a 3 2 1
b 4 2 1
c 8 6 1
d 8 2 4
我应该使用什么功能?
What function should I use?
推荐答案
使用apply
:
import org.apache.spark.sql.col
df.select(
col("id") +: (0 until 3).map(i => col("DataArray")(i).alias(s"col$i")): _*
)
这篇关于如何在Spark中将数组分解为多列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文