我在spark java中有一个数据集:current:
+--------------+--------------------+
| x | YS. |
+--------------+--------------------+
|x1 | [Y1,Y2] |
|x2 | [Y3] |
我要分解此数据集并将数组转换为单个条目,如“
Desired:
+--------------+--------------------+
| x | YS.
+--------------+--------------------+
|x1 | Y1
|X1 |. Y2
|x2 | Y3
我从数据库中读取表并读取两列,但无法使用explode功能。
DS = reader.option("table", "dummy").load()
.select(X,YS).explode(??)
我应该如何使用explode并用java获得所需的数据集。
1条答案
按热度按时间uhry853o1#
原则上,您需要选择一个新列(而不是
YS
列),其中新列的值将被分解YS
列值。从问题的代码开始,这将类似于:
以下是api文档:https://spark.apache.org/docs/2.4.6/api/java/org/apache/spark/sql/functions.html#explode-org.apache.spark.sql.column列-