Đây có thể là một vấn đề dễ dàng nhưng về cơ bản tôi có tập dữ liệu để đếm số lượng nữ cho mỗi quốc gia. Cuối cùng tôi muốn nhóm mỗi lần đếm theo quốc gia nhưng tôi không chắc chắn về những gì để sử dụng cho giá trị vì không có cột đếm trong tập dữ liệu mà tôi có thể sử dụng làm giá trị trong một nhómByKey hoặc reduceByKey. Tôi đã nghĩ đến việc sử dụng hàm reduceByKey() nhưng yêu cầu một cặp khóa-giá trị và tôi chỉ muốn đếm khóa và tạo một bộ đếm làm giá trị. Làm thế nào để tôi đi về điều này?Spark - Cách đếm số lượng bản ghi theo khóa
val lines = sc.textFile("/home/cloudera/desktop/file.txt")
val split_lines = lines.map(_.split(","))
val femaleOnly = split_lines.filter(x => x._10 == "Female")
Đây là nơi tôi bị kẹt. Quốc gia này cũng là chỉ số 13 trong tập dữ liệu. Kết quả đầu ra sẽ trông như sau: (Úc, 201000) (Mỹ, 420000) vv Bất kỳ trợ giúp nào đều tuyệt vời. Cảm ơn
Có một lý do tại sao bạn không muốn (tạm thời) thêm một giá trị? Bạn về cơ bản có thể làm điều đó như đếm từ và làm cho tất cả các cặp KV của bạn một cái gì đó như sau đó reduceByKey và tổng hợp các giá trị. Hoặc tạo khóa <[female, australia], 1> rồi giảmByKey và tổng để nhận số lượng phụ nữ ở quốc gia được chỉ định. Tôi không chắc chắn làm thế nào để làm điều này với scala, nhưng với python + spark này là rất dễ dàng. –
TravisJ