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