Używam iskry z Java i i hava RDD z 5 milionów wierszy. Czy istnieje rozwiązanie, które pozwala mi obliczyć liczbę wierszy mojego RDD. Próbowałem już RDD.count()
, ale zajmuje to dużo czasu. Widziałem, że mogę użyć funkcji fold
. Ale nie znalazłem dokumentacji Java tej funkcji. Czy możesz mi pokazać, jak z niego korzystać lub pokazać mi inne rozwiązanie, aby uzyskać liczbę wierszy mojego RDD.Liczba wierszy w RDD
Oto mój kod:
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+"%");
Dziękuję.