Ich weiß, dass es verschiedene Möglichkeiten gibt, die Anzahl der Elemente in einem Text oder einer Liste zu zählen. Aber ich versuche zu verstehen, warum das nicht funktioniert. Ich versuche, einen gleichwertigen CodeAnzahl der Elemente in einem Text oder einer Liste mit Spark zählen
A_RDD=sc.parallelize(['a', 1.2, []])
acc = sc.accumulator(0)
acc.value
A_RDD.foreach(lambda _: acc.add(1))
acc.value
zu schreiben, wo das Ergebnis 3. Dazu definierte ich die folgende Funktion aufgerufen my_count (_), aber ich weiß nicht, wie das Ergebnis zu erhalten. A_RDD.foreach (my_count) tut nichts. Ich habe auch keinen Fehler erhalten. Was habe ich falsch gemacht?
counter = 0 #function that counts elements
def my_count(_):
global counter
counter += 1
A_RDD.foreach(my_count)
Mary, können Sie bestätigen, ob die veröffentlichte Antwort Ihre Frage verdeutlicht? –