Spark - Word-count-test
Möchte ich nur die Anzahl der Wörter in der Funke (pyspark), aber ich kann die Karte entweder den Buchstaben oder den ganzen string.
Habe ich versucht:
(ganze Zeichenfolge)
v1='Hi hi hi bye bye bye word count'
v1_temp=sc.parallelize([v1])
v1_map = v1_temp.flatMap(lambda x: x.split('\t'))
v1_counts = v1_map.map(lambda x: (x, 1))
v1_counts.collect()
oder (nur Buchstaben)
v1='Hi hi hi bye bye bye word count'
v1_temp=sc.parallelize(v1)
v1_map = v1_temp.flatMap(lambda x: x.split('\t'))
v1_counts = v1_map.map(lambda x: (x, 1))
v1_counts.collect()
Gut, problem hier ist nicht mit Spark, die Sie versuchen zu splitten, indem Sie tab:
split('\t')
, während das, was Sie brauchen, ist, einfach anrufen split()
.InformationsquelleAutor Vinicius | 2015-01-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie
sc.parallelize(sequence)
Sie sind die Schaffung eines RDD operiert werden parallel. Im ersten Fall können Sie Sequenz ist eine Liste mit einem einzigen element (den ganzen Satz). Im zweiten Fall Ihre Sequenz ist ein string, welcher in python ist ähnlich wie eine Liste von Zeichen.Wenn Sie möchten, um die Anzahl der Wörter in der parallele, die Sie tun könnten:
Erhalten Sie:
InformationsquelleAutor elyase
Wenn Sie nur wollen, zu zählen alphanumerische Worten, es kann eine Lösung sein:
InformationsquelleAutor f_ficarola
Gab es viele Versionen von wordcount online, unten ist nur von Ihnen;
InformationsquelleAutor jasminTi