RDD.take不起作用

时间:2016-04-09 03:46:19

标签: python apache-spark rdd

当我在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)

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

1 个答案:

答案 0 :(得分:2)

关于这一点,shell环境和正常应用程序之间的区别在于shell总是在标准输出上打印出命令的结果。例如,如果您创建RDD,您将看到PythonRDD,当您使用take时,它将打印take的结果。

当您提交申请时,您需要自己打印出来:

advString_stream