java - 如何将 Scala Iterable 转换为 Java util.List?

标签 java scala apache-spark collections

我在 Scala 中编写了一个方法,该方法使用用 Java 编写的方法 - processSale()方法需要 util.List<Sale>作为参数。

但在groupByKey()之后我收到 RDD[(String, Iterable[Sale])] 。我尝试导入 scala.collection.JavaConverters._并做SaleParser.processSale(a.asJava)

但是它给了我一个 Iterable[Sale] 。如何将其转换为Java util.List

val parseSales: RDD[(String, Sale)] = rawSales
      .map(sale => sale.Id -> sale)
      .groupByKey()
      .mapValues(a => SaleParser.processSale(???))

最佳答案

a.toSeq.asJava

请注意,如果此 Iterable 实际上是 Seq,则 toSeq 仅返回相同的对象。

参见API doc查看完整的转化列表。

关于java - 如何将 Scala Iterable 转换为 Java util.List?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52745824/

相关文章:

java - 通过使用泛型传递类来返回类型化类的正确 Java 类型

java - 如何将这些 UTF-8 文字转换为字符串?

json - 如何编写惯用的 Scala 包装类来表示非惯用的 JSON

scala - 如何模拟 Akka Actor 来对类(class)进行单元测试?

scala - UDF在Spark SQL中不起作用

java - Spark-Java : Concatenate aggregated groupBy's result

scala - 在运行时设置对目录的权限 scala spark

java - 泛型参数,如果 raw 默认为 Object

java - 反序列化没有serialversionuid的类

scala - 如何在Spark中操纵我的数据框?