我使用java的spark,並且我擁有500萬行RDD。是否有一種溶劑可以讓我計算RDD的行數。我試過RDD.count()
,但這需要很長時間。我已經看到,我可以使用功能fold
。但是我沒有找到這個函數的java文檔。 請你告訴我如何使用它或向我展示另一種解決方案來獲取RDD的行數。計算RDD中的行數
這裏是我的代碼:
JavaPairRDD<String, String> lines = getAllCustomers(sc).cache();
JavaPairRDD<String,String> CFIDNotNull = lines.filter(notNull()).cache();
JavaPairRDD<String, Tuple2<String, String>> join =lines.join(CFIDNotNull).cache();
double count_ctid = (double)join.count(); // i want to get the count of these three RDD
double all = (double)lines.count();
double count_cfid = all - CFIDNotNull.count();
System.out.println("********** :"+count_cfid*100/all +"% and now : "+ count_ctid*100/all+"%");
謝謝。