2016-04-09 2 views
2

wenn ich Eingang in Funken folgenden Befehl ein:RDD.take funktioniert nicht

textFile = sc.textFile("README.md") 

textFile.take(3) 

es folgende Ausgabe:

[u'# Apache Spark', u'', u'Spark is a fast and general cluster computing system for Big Data. It provides'] 

Allerdings, wenn ich will spark-submit verwenden, um eine python-Datei zu laden:

from pyspark import SparkContext 

logFile = "/home/sydridgm/Downloads/spark-1.6.1-bin-hadoop2.4/README.md" 
sc = SparkContext("local", "Simple App") 
logData = sc.textFile(logFile).cache() 

logData.take(3) 

Es wird nichts ausgegeben. Ich bin ein wenig verwirrt. Kann mir das jemand erklären? Danke im Voraus.

Antwort

2

Der Unterschied zwischen der Shell-Umgebung und der normalen Anwendung in diesem Punkt ist, dass die Shell immer das Ergebnis Ihres Befehls auf der Standardausgabe ausgibt. Wenn Sie z. B. eine RDD erstellen, sehen Sie PythonRDD. Wenn Sie Take verwenden, wird das Ergebnis der Take-Operation gedruckt.

Wenn Sie einen Antrag einreichen, müssen Sie es selbst ausdrucken:

print(rdd.take(3)) 
Verwandte Themen