【问题标题】:Adding/selecting fields to/from RDD向/从 RDD 添加/选择字段
【发布时间】:2016-09-27 22:34:24
【问题描述】:

我有一个 RDD,可以说是 dataRdd,其中包含 timestampurl、...等字段。

我想从这个dataRdd 创建一个包含少量字段的新RDD。

以下代码段创建新的 RDD,其中 timestampURL 被视为值而不是字段/列名:

var fewfieldsRDD= dataRdd.map(r=> ( "timestamp" -> r.timestamp , "URL" ->   r.url))

但是,对于以下代码段,onetwothreearrivalSFO 被视为列名。:

val numbers = Map("one" -> 1, "two" -> 2, "three" -> 3)
val airports = Map("arrival" -> "Otopeni", "SFO" -> "San Fran")
val numairRdd= sc.makeRDD(Seq(numbers, airports))

谁能告诉我我做错了什么以及如何创建一个新的 Rdd,其字段名称映射到另一个 Rdd 的值?

【问题讨论】:

    标签: scala apache-spark rdd


    【解决方案1】:

    您正在创建元组的 RDD,而不是 Map 对象。试试:

    var fewfieldsRDD= dataRdd.map(r=> Map( "timestamp" -> r.timestamp , "URL" ->   r.url))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多