像这样在dataproc服务器上运行PySpark作业时
gcloud --project <project_name> dataproc jobs submit pyspark --cluster <cluster_name> <python_script>
我的打印报表没有显示在我的终端上。
在云上运行作业时,有什么方法可以将数据输出到PySpark的终端上?
编辑:我想从转换中打印/记录信息。例如:
def print_funct(l):
print(l)
return l
rddData.map(lambda l: print_funct(l)).collect()
应该在RDD中打印每一行数据rddData
。
进行一些挖掘后,我找到了用于记录日志的答案,但是,对其进行测试后,向我提供了该问题的结果,其答案表明,在转换过程中无法进行记录
转换内部的打印或日志记录将最终显示在Spark执行程序日志中,可通过YARN ResourceManager Web UI通过应用程序的AppMaster或HistoryServer进行访问。
您也可以在输出旁边(例如,在dict或tuple中)收集要打印的信息。您也可以将其存放在累加器中,然后从驱动程序中进行打印。
如果您要进行很多打印语句调试,则可能会发现SSH更快地进入主节点并使用pyspark REPL或IPython来测试代码会更快。这也将允许您使用--master本地标志,这将使您的打印语句出现在stdout中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句