【发布时间】:2016-04-19 02:01:35
【问题描述】:
我了解从 Dataproc 集群访问 Spark Job Driver Output 和 Hadoop Jobs 以及 Output from Dataproc Spark job in Google Cloud Logging 的答案。谢谢这些。
不过,我也有兴趣查看不完整 Spark 应用程序的日志,例如交互式pyspark-shell 或spark-shell 会话——两者都来自:
- 使用相同的网络界面,以及可能
- 访问原始会话输出(本地 fs 或 hdfs 上的日志文件?)
在 Spark shell 会话期间,虽然我可以将会话视为不完整的应用程序,但 UI 没有在 Jobs、Stages 中提供此类信息当我在 REPL 中执行命令时,em> 和 Tasks 选项卡。这可以很容易地复制,如:
# Launch Dataproc cluster
>> gcloud beta dataproc clusters create $DATAPROC_CLUSTER_NAME
# SSH to master node:
>> gcloud compute ssh "root@$DATAPROC_CLUSTER_NAME-m"
# Launch a Spark shell (e.g., Python)
>> pyspark
我可以将 Spark 会话视为一个不完整的应用程序(如上所述),并且可以执行基本的 Spark 作业(使用collect 操作),例如:
>>> rdd = sc.parallelize([1, 2, 3, 4, 5, 6])
>>> rdd2 = rdd.map(lambda x: x + 1)
>>> rdd2.collect()
[2, 3, 4, 5, 6, 7]
>>> rdd2.persist()
PythonRDD[1] at collect at <stdin>:1
但这会导致在任何 Jobs、Stages 或 Storage 选项卡中没有任何信息:see Spark Job History UI screen grab (blank)。
强调:但是,通过 Dataproc API 提交作业时,这些选项卡确实会显示所有预期的作业历史记录。
关于我可以从 Spark shell 会话中访问此类输出/作业历史记录的任何提示?提前谢谢了。 :)
【问题讨论】:
标签: apache-spark google-cloud-dataproc