RDD.take 无效

RDD.take does not work

当我在 spark 中输入以下命令时:

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

textFile.take(3)

它将输出:

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

但是,当我想使用 spark-submit 加载 python 文件时:

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)

它不会输出任何东西。我有点困惑。谁能解释一下?提前致谢。

在这一点上,shell 环境与普通应用程序的区别在于,shell 总是在标准输出上打印出您的命令的结果。例如,如果你创建一个 RDD,你会看到 PythonRDD,当你使用 take 时,它​​会打印 take 的结果。

提交申请时,您需要自行打印:

print(rdd.take(3))