我正在致力於SPARK。我的目標是讀取文件中的行,並根據散列進行排序。我瞭解到我們獲得的文件爲RDD。那麼是否有一種方法可以迭代RDD,以便我可以一行一行讀取。所以我想能夠將其轉換爲Iterator類型。遍歷SparkRD中的JavaRDD <String>
我只限於在它上面應用一些轉換函數來使它工作。遵循Spark的懶惰執行概念
到目前爲止,我已經嘗試了以下轉換技術代碼。
SparkConf sparkConf = new SparkConf().setAppName("Sorting1");
JavaSparkContext ctx = new JavaSparkContext(sparkConf);
JavaRDD<String> lines = ctx.textFile("hdfs://localhost:9000/hash-example-output/part-r-00000", 1);
lines = lines.filter(new Function<String, Boolean>()
{
@Override
public Boolean call(String s) {
String str[] = COMMA.split(s);
unsortedArray1[i] = Long.parseLong(str[str.length-1]);
i++;
return s.contains("error");
}
});
lines.count();
ctx.stop();
sort(unsortedArray1);
你想實現與上面的代碼是什麼?什麼是unsortedArray?你想排序行嗎?或行內的值? – Averman 2014-09-26 07:41:46
@Averman我想要在數組中逐行存儲。然後將其發送到排序功能 – Koneri 2014-09-26 10:27:39
因此,排序是否在火花之外? – Averman 2014-09-26 12:11:18