【发布时间】:2016-09-21 07:03:33
【问题描述】:
当像这样在 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 中的每一行数据。
进行了一些挖掘,我发现了这个answer for logging,但是,测试它为我提供了this question 的结果,其回答表明在转换中无法进行日志记录
【问题讨论】:
-
当您说打印语句时,您的意思是从python驱动程序内部吗?还是内部火花变换?通过在主 VM 上运行 spark-submit 看到的驱动程序的所有输出都将由 gcloud 打印。另一方面,转换的输出在不同的 VM 上运行,不会被打印。如果可以,请添加示例。
-
@tix:我假设我的打印语句在 spark 转换中。我猜打印输出被发送到每个虚拟机,而不是主控,因此不是给我?
标签: python-2.7 pyspark google-cloud-dataproc