我有一对RDD [String,String]其中key是一个字符串,值为html。我想根据n个键将这个rdd分成n个RDDS并将它们存储在HDFS中。将RDD拆分为多个RDDS
htmlRDD = [key1,html
key2,html
key3,html
key4,html
........]
根据密钥拆分此RDD,并将每个RDD的html分别存储在HDFS上。为什么我想这样做?当我尝试将主RDD中的html存储到HDFS时,由于某些任务被输出协调器拒绝,所以需要很长时间。 我在斯卡拉这样做。
htmlRDD.saveAsHadoopFile("hdfs:///Path/",classOf[String],classOf[String], classOf[Formatter])
只是疯狂的猜测,有多少分区和执行者在htmlRDD?可能发生的情况是,火花只是用查询来填满HDFS。但是,只有当你有很多火花执行者时才会发生这种情况。 – evgenii