我正在使用Cloudera VM,Linux终端和Spark版本1.6.0
假设我有以下数据集:
优先级,数量,销售=>我不导入标题。
低6,261.54
高,44,1012
低1,240
最高25,2500
我可以加载“ val inputFile = sc.textFile(“ file:///home/cloudera/stat.txt”)
我可以对“ inputFile.sortBy(x => x(1),true).collect
进行排序但是我想将低优先级和高优先级数据放入2个单独的文件中。
是过滤器还是reduceby或分区?我该怎么做? 如果我可以得到帮助,我想我可以全力以赴地创建优先级和销售,数量和销售的RDD。
答案 0 :(得分:0)
这可能不是最好的解决方案,但是您可以使用2个过滤器来创建2个不同的RDD,一个过滤器除去低线,另一条除去高线,然后保存在HDFS下。
inputFile.filter($"Priority" == "low").saveAsTextFile("low_file");
inputFile.filter($"Priority" == "high").saveAsTextFile("high_file");