繁体   English   中英

转换 JavaRDD <List<SomeClass> &gt; 到 JavaRDD<SomeClass>

[英]Convert JavaRDD<List<SomeClass>> to JavaRDD<SomeClass>

我有一个类对象列表的 JavaRDD。 我想将它展平为类对象的 JaveRDD,以便 JavaRDD<{1, 2, 3, 4}, {5, 6, 7}> 转到 JavaRDD<1, 2, 3, 4, 5, 6, 7 >

在这篇文章中, 将 RDD 列表转换为 spark 中单个元素的 RDD一个解决方案是

val newrdd = rdd.flatmap(line => line)

然而, line=>line 是 scala(我认为)我试过了

rdd.flatmap(line-> line)

它给出了错误

“不存在类型变量 U 的实例,因此 List 符合 Iterator”

您传递给flatMap函数应该返回java.util.Iterator<T> ,而不是List<T> 这样做就足够了:

JavaRDD<SomeClass> newRdd = rdd.flatMap(List::iterator);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM