Jest to prawdopodobnie łatwy problem, ale w zasadzie mam zestaw danych, w którym liczę liczbę samic dla każdego kraju. Ostatecznie chcę pogrupować każdą liczbę według kraju, ale nie jestem pewien, co należy użyć dla tej wartości, ponieważ nie ma kolumny zliczania w zbiorze danych, którą mogę użyć jako wartości w grupieByKey lub reduceByKey. Pomyślałem o użyciu metody reduceByKey(), ale wymaga to pary klucz-wartość i chcę tylko zliczyć klucz i utworzyć licznik jako wartość. Jak mam to zrobić?Spark - Jak policzyć liczbę rekordów kluczem
val lines = sc.textFile("/home/cloudera/desktop/file.txt")
val split_lines = lines.map(_.split(","))
val femaleOnly = split_lines.filter(x => x._10 == "Female")
Oto, gdzie utknąłem. Ten kraj ma także indeks 13 w zestawie danych. Dane wyjściowe powinny wyglądać następująco: (Australia, 201000) (Ameryka, 420000) itd. Każda pomoc będzie świetna. Dzięki
Czy istnieje powód dlaczego nie chcesz (tymczasowo) dodać wartości? Zasadniczo można to zrobić jak liczbę słów i uczynić wszystkie swoje pary KV czymś w rodzaju, a następnie zmniejszyćByKey i zsumować wartości. Lub wykonaj klucz <[żeński, australia], 1> następnie zmniejsz KeyKey i sum, aby uzyskać liczbę kobiet w danym kraju. Nie jestem pewien, jak to zrobić w scala, ale z python + iskra jest to bardzo łatwe. –
TravisJ