如何将spark数据集中的wrappedArray列转换为java数组?

qxsslcnc  于 2022-11-16  发布在  Apache
关注(0)|答案(1)|浏览(337)

在我的项目中,我在应用collect_list聚合函数后得到了一个列,它的格式是wrapedArray,我想知道是否有办法将wrapedArray转换为普通的数组或列表,以便我可以迭代该列,并在该列中逐行提取值?
语言:- JAVA使用Apache spark库
这样我就得到了wrappedArray类型的列
第一个
我很困惑,我应该如何继续在该列中进行迭代。

yks3o0rb

yks3o0rb1#

如果你有一个WrappedArray,有几种方法可以把它转换成Java集合。你可以利用scala.collection.JavaConverters帮助器方法:

WrappedArray<Long> wrappedArray = row.getAs("ids");
List<Long> list = scala.collection.JavaConverters.seqAsJavaList(wrappedArray.seq());

或者,可以使用Row.getList方法直接获取Java列表:

List<Long> list = row.getList(row.fieldIndex("ids"));

相关问题