DataWorks中我们提交的spark程序中,中间结果show出来,但日志中没有,是咋回事?
在DataWorks中,当您提交Spark作业时,您可以通过在Spark代码中使用collect()或show()函数来查看中间结果。这些函数将DataFrame转换为Scala Seq或Java ArrayList,并返回一个数组。这个数组可以手动打印或在UI中查看,但不会自动记录到日志中。
要在日志中查看中间结果,您需要在代码中添加一些额外的代码,以便将结果写入日志文件中。一种常见的方法是使用log()函数将结果打印到日志中。例如,您可以在代码中使用以下命令将结果写入名为"my_log.txt"的文件中:
scala import org.apache.spark.sql.SparkSession
val spark = SparkSession.builder.appName("MyApp").getOrCreate()
val df = Seq((1, "a"), (2, "b"), (3, "c")).toDF("id", "name")
df.show() // 显示中间结果
val logSession = spark.stop() // 将日志信息写入日志文件中
logSession.close() 这个例子演示了如何将日志信息写入日志文件中。在logSession.close()方法调用之前,所有日志信息都会被记录下来。这样,您就可以在DataWorks的日志文件中查看Spark程序的中间结果了。
spark任务实际应该是执行在集群上 调度资源组是将作业下发到引擎 所以一般看不到,此回答整理自钉群“DataWorks交流群(答疑@机器人)”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。