如何使用spark(r)来划分数据?

时间:2015-12-23 05:15:37

标签: r apache-spark sparkr

我有一个包含3个节点的集群。 我有一个json文件,每行都是一个json字符串。 我需要根据json文件的每一行中的ID字段将数据划分为X块,以便在同一节点中计算具有相同ID的jsons行。

我该怎么做分区?

我正在使用SparkR,代码的结构如下所示:

getObj=function(x)
{
  rec1= rjson:::fromJSON(x) ;
  kv=list(rec1$id, rec1) ;
  return(kv)
}

data=  SparkR:::textFile(sc, "Path")          
mapdata= SparkR:::map(data, getObj)                          
mapdataP=SparkR:::partitionBy(mapdata,100)      

id的范围是1到100.我的目标是分成100个部分,因此每个部分都有一个ID。但是,上面的代码没有给出预期的答案。某些分区为空。例如,当我尝试获取第二个分区时,使用 result = SparkR ::: collectPartition(mapdataP,1L),返回Null。

这里有什么遗漏或错误吗?非常感谢!

0 个答案:

没有答案