如何使用dataset在spark java中分解数组列

如何使用dataset在spark java中分解数组列,java,apache-spark,Java,Apache Spark,我在spark java中有一个数据集: 当前: +--------------+--------------------+ | x | YS. | +--------------+--------------------+ |x1 | [Y1,Y2] | |x2 | [Y3] | 我想分解此数据集并将数组转换为单个条目,如“ 我从数据库中读取表并

我在spark java中有一个数据集: 当前:

+--------------+--------------------+
|          x   |               YS.   |
+--------------+--------------------+
|x1            |   [Y1,Y2]          |
|x2            |   [Y3]             |
我想分解此数据集并将数组转换为单个条目,如“

我从数据库中读取表并读取两列,但无法使用explode功能

DS = reader.option("table", "dummy").load()
                .select(X,YS).explode(??)

如何使用explode并使用Java获取所需的数据集。

原则上,您需要选择一个新的列(而不是
YS
列),其中新列的值将是一个分解的
YS
列值

从问题的代码开始,这将类似于:

ds = reader.option("table", "dummy").load()
ds = ds.select(ds.col("X"), explode(ds.col("YS")).as("Y"))

以下是API文档:

我正在使用spark\u sql\u 2.11,并让
将flatMap()或select()用于函数.explode(),“2.0.0”
如何将select()用于函数.explode?
ds = reader.option("table", "dummy").load()
ds = ds.select(ds.col("X"), explode(ds.col("YS")).as("Y"))