调试python-spark代码的最佳实践

问题描述 投票:4回答:1

我想在仍然使用yarn的情况下逐步执行python-spark代码。我当前的操作方式是启动pyspark shell,复制粘贴,然后逐行执行代码。我想知道是否有更好的方法。

pdb.set_trace()如果可行,将是一个效率更高的选择。我用spark-submit --master yarn --deploy-mode client尝试过。该程序确实停止了运行,并在调用pdb.set_trace()的行上给了我一个shell。但是,在外壳程序中输入的任何pdb命令都会被挂起。 pdb.set_trace()插入在spark函数调用之间,据我所知,应该在本地运行并连接了端子的驱动程序中执行。我读了这篇文章How can pyspark be called in debug mode?,这似乎表明如果不依靠IDE(PyCharm),就不可能使用pdb。但是,如果可以交互式运行spark代码,则应该有一种方法可以让python-spark“一直运行到这行,并为我提供一个用于REPL(交互式使用)的外壳。我还没有找到任何方法来执行此操作。任何建议/参考都将不胜感激。

我想在仍然使用yarn的情况下逐步执行python-spark代码。我当前的操作方式是启动pyspark shell,复制粘贴,然后逐行执行代码。我不知道是否有一个...

apache-spark pyspark pdb
1个回答
0
投票

我也经历过pdb的死机。我找到了pdb_clone,它的作用就像是一个吊饰。

© www.soinside.com 2019 - 2024. All rights reserved.