我有一个RDD,假设dataRdd有像timestamp,url这样的字段...
我想创建一个新的RDD从这个dataRdd字段很少。
下面的代码段创建了新的RDD,其中timestamp和URL被认为是值,而不是字段/列名:
var fewfieldsRDD= dataRdd.map(r=> ( "timestamp" -> r.timestamp , "URL" -> r.url))但是,在下面的代码段中,one、two、three、arrival和SFO被视为列名:
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的值?
发布于 2016-09-28 08:14:53
您创建的是元组的RDD,而不是Map对象。尝试:
var fewfieldsRDD= dataRdd.map(r=> Map( "timestamp" -> r.timestamp , "URL" -> r.url))https://stackoverflow.com/questions/39735370
复制相似问题