Dies ist wahrscheinlich ein einfaches Problem, aber im Grunde habe ich einen Datensatz, wo ich die Anzahl der Frauen für jedes Land zählen soll. Letztendlich möchte ich jede Zählung nach dem Land gruppieren, aber ich bin nicht sicher, was ich für den Wert verwenden soll, da es in der Datenmenge keine Zählungsspalte gibt, die ich als Wert in einem groupByKey oder reduceByKey verwenden kann. Ich dachte an eine reduceByKey(), aber das erfordert ein Schlüssel-Wert-Paar, und ich möchte nur den Schlüssel zählen und einen Zähler als Wert machen. Wie gehe ich vor?Spark - Wie die Anzahl der Datensätze nach Schlüssel zu zählen
val lines = sc.textFile("/home/cloudera/desktop/file.txt")
val split_lines = lines.map(_.split(","))
val femaleOnly = split_lines.filter(x => x._10 == "Female")
Hier ist, wo ich feststecke. Das Land ist ebenfalls Index 13 im Datensatz. Die Ausgabe sollte so aussehen: (Australien, 201000) (Amerika, 420000) usw. Jede Hilfe wäre toll. Dank
Gibt es einen Grund Warum möchten Sie (vorübergehend) keinen Wert hinzufügen? Sie können es im Wesentlichen wie Word Count und machen Sie alle Ihre KV-Paare so etwas wie dann ReduceByKey und summieren Sie die Werte. Oder mache den Schlüssel <[female, australia], 1> und reduziere dannByKey und sum, um die Anzahl der Frauen im angegebenen Land zu ermitteln. Ich bin nicht sicher, wie man das mit Scala macht, aber mit Python + Spark ist das sehr einfach. –
TravisJ