在生产 Spark 作业中使用 Spark show() 方法是一种好习惯吗?

Is it a good practice to incur Spark show() method in production Spark job?

使用DataFrame.show()API,我们可以一览底层数据。

生产spark job用这个方法好吗?

基本上,我知道我们可以在启动作业之前对此类代码进行注释,但如果我们只保留它,这是一种好的做法吗?
还是会导致性能问题?

show() 命令是一个 action

向代码添加不必要的操作可能会扰乱 Spark 优化器,因为优化器可以更改转换的顺序,但每次它们是一个操作时都应该触发一个操作。
即使用不必要的操作限制了优化器的工作。

Actions vs Transformations

show() 命令是一个动作,所以我们不应该在我们的生产代码中使用它,因为它会使您的代码变得不必要,并最终在一定程度上减慢您的工作速度。

不,这不是一个好方法。 Spark 是一个惰性求值器,这意味着只有在必要时才会开始执行。它创建一个有向无环图来按顺序跟踪请求。但是,在调用操作之前它不会执行任何操作。因此,应避免不必要的调用操作,如 show