2016-07-21 6 views
0

Ich habe eine RDD von Strings (alle in Kleinbuchstaben) und ich möchte mit regulären Ausdruck alle Wörter beginnend mit "kann" finden oder finden. Wie kann ich das in Python machen?Wie findet man alle Wörter, die mit my_str beginnen, in einer RDD von Strings mit pyspark und regex?

Als Beispiel für eine Eingabe wie

rdd = sc.parallelize(['canada','canpar','beauty','can']) 

Ich möchte eine Ausgabe haben wie

['canada','canpar','can'] 

die eine RDD ist.

+0

Sammeln Ich verstehe nicht, warum ich einen negativen Punkt für meine Frage. Könntest du erklären, was damit nicht stimmt? – Elm662

+0

Was hast du bisher versucht? – eliasah

Antwort

2

mit der Verwendung von String-Funktionen

filteredRDD = rdd.filter(lambda x: x.startswith('can')) 

Mit Verwendung re Modul

import re 
filteredRDD = rdd.filter(lambda x: re.compile('can').match(x)) 

Sie können die Ergebnisse testen, indem Inhalte von filteredRDD als filteredRDD.collect()

+0

Danke, es hat für mich funktioniert! – Elm662

Verwandte Themen