迭代地图以创建另一个地图

Iterating a map to create another map

我正在尝试获取最新提交的偏移量。为此,我需要创建一个映射(分区 -> 偏移量)示例:来自 [=15 的 {"0"->200,"1"->100} =](设置[分区]) consumer.committed 在 util.map[TopicPartition,OffsetandMetaData]

中给出输出

需要帮助从 util.map[TopicPartition,OffsetandMetaData]

创建地图
  var map = Map[String, Long]() //Empty Map to populate

    val last=consumer.committed(partitions.toSet)


    last.foreach(x=>
      (map += (x._1 -> x._2.offset()))
      //println(x._1 +"->" +x._2.offset())
    )


您只需在 Map 上使用 map 即可生成新的 Map:

val map = last.map { case (t, o) => t -> o.offset }