Tôi đang sử dụng tia lửa với java và i hava một RDD trong số 5 triệu hàng. Có một sollution cho phép tôi để tính toán số lượng hàng của RDD của tôi. Tôi đã thử RDD.count()
nhưng phải mất rất nhiều thời gian. Tôi đã thấy rằng tôi có thể sử dụng chức năng fold
. Nhưng tôi đã không tìm thấy một tài liệu java của chức năng này. Bạn có thể vui lòng chỉ cho tôi cách sử dụng nó hoặc chỉ cho tôi một giải pháp khác để lấy số hàng RDD của tôi.Đếm số hàng trong RDD
Đây là mã của tôi:
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+"%");
Cảm ơn bạn.