PySpark打印到控制台

Rom*_*man 2 python-2.7 pyspark google-cloud-dataproc

在数据采集服务器上运行PySpark作业时

gcloud --project <project_name> dataproc jobs submit pyspark --cluster <cluster_name> <python_script>
Run Code Online (Sandbox Code Playgroud)

我的打印报表没有显示在我的终端中.

在云上运行作业时,有没有办法在PySpark中将数据输出到终端?

编辑:我想在转换中打印/记录信息.例如:

def print_funct(l):
    print(l)
    return l

rddData.map(lambda l: print_funct(l)).collect()
Run Code Online (Sandbox Code Playgroud)

应该打印RDD中的每一行数据rddData.

做一些挖掘,我找到了这个日志记录的答案,然而,测试它为我提供了这个问题的结果,其答案表明在转换过程中无法进行日志记录

Pat*_*lay 8

在转换中打印或记录将最终出现在Spark执行程序日志中,可以通过YARN ResourceManager Web UI通过应用程序的AppMaster或HistoryServer访问.

您也可以收集与输出一起打印的信息(例如,在字典或元组中).您也可以将它存放在累加器中,然后从驱动程序中打印出来.

如果您正在进行大量的print语句调试,您可能会发现SSH更快地进入主节点并使用pyspark REPL或IPython来试验您的代码.这也允许您使用--master local标志,这将使您的打印语句出现在stdout中.