【问题标题】:pyspark: run a python script and see results on commandlinepyspark:运行 python 脚本并在命令行上查看结果
【发布时间】:2017-12-15 08:29:56
【问题描述】:

我在 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 时,我看到了我的结果,但这不是预期的行为,因为我希望它在集群上使用参数执行。

【问题讨论】:

    标签: python pyspark hortonworks-data-platform


    【解决方案1】:

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

    myRDD.collect().foreach(println)
    

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

    3) 当你在 yarn-cluster 模式下执行 spark 命令时。执行期间在控制台上看不到日志。有一个使用应用程序 ID 生成的 URL。您可以在给定的 url 查看日志。

    或者,您可以将日志从集群下载到本地机器,一旦执行完成,使用以下命令:

    yarn logs -applicationId <application>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-13
      • 2012-05-31
      • 1970-01-01
      • 2019-04-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多