pyspark:运行python脚本并在命令行上查看结果

时间:2017-12-15 08:29:57

标签: python pyspark hortonworks-data-platform

我在pyspark 1.6.2中执行python脚本文件(是出于认证培训的原因,是旧的)。

spark-submit --master yarn-cluster s01.py

运行时,它只返回" application_somelongnumber"的应用程序报告。我所期待的是,它显示了我的脚本命令的输出。这样我就能检查一下我是否正确开发了。我应该做些什么来获得我想要的东西?

我的剧本内容:

#!/usr/bin/python

from pyspark.sql import Row
from pyspark.sql.functions import *
from pyspark import SparkContext
sc = SparkContext(appName = "solution01")

a = sc.textFile("/data/crime.csv")
b = a.take(1)
sc.stop()
print(b)

更新 :当我执行pyspark s01.py时,我看到了我的结果,但这不是预期的行为,因为我希望它在集群上使用参数执行。

1 个答案:

答案 0 :(得分:1)

1)打印报表在纱线模式下不起作用。而是像这样使用foreach:

getSalesService

2)在调试时应该使用yarn-client模式而不是yarn-cluster,在这种情况下,将在执行spark-submit命令的机器上创建spark驱动程序。

3)在纱线群集模式下执行spark命令时。执行期间无法在控制台上看到日志。有一个使用应用程序ID生成的URL。您可以查看给定网址的日志。

或者,您可以使用以下命令在执行完成后将日志从群集下载到本地计算机:

myRDD.collect().foreach(println)