2016-11-19 5 views
0

ich diesen Code schrieb:Funken- die len jeder Zeile (Python) finden

logFile = sc.textFile("\README.md") #read the file 

def lengthfunction(line): 
    return len(line) 

logFile.map(lambda line: line.split()).reduce(lengthfunction) 

Es mir ein Fehler gab:

"lengthfunction() takes exactly 1 argument (2 given)" 

Ich habe auch versucht

logFile.map(lambda line: line.split()).reduce(lambda line: len) 

Aber das hat auch nicht funktioniert. Kann mir jemand helfen?

+0

Format Code – user2728397

Antwort

1

Sie können:

logFile.map(lambda line: line.split()).map(len) 
+0

Sie müssen erklären, was mit Ihrer Antwort tatsächlich passiert –

+0

danke es funktioniert können Sie meinen Code erklären, warum falsch war? und was ist das anders? – maori

+0

Karte: Wenden Sie Ihre Funktion auf jede RDD an. reduzieren: jede RDD aggregieren. In der Kartenfunktion haben Sie nur einen Eingang nach Lambda, aber in der Reduzierfunktion gibt es zwei Eingänge. –

Verwandte Themen