我们在开发过程中使用spark集群的时候,经常会遇到调试困难的问题,本文介绍一种通过本地IDE关联开发机,对远程开发机代码进行本地调试的方法。
- IDE:pycharm
- 语言:python
(1)点击”编辑配置“ --> Python Remote Debug
(2)配置下面三个配置项,名称:随便取一个标识即可,Local host name:本地IP,Port:没有被用到的端口即可
(3)配置完成之后,拷贝下面两行代码,复制到开发机的代码中。同时为了本地和远程(开发机)的代码行数保持一致,将复制到开发机的代码插入到本地代码中相同的位置或者本地代码空白两行。
(4)本地IDE点击Debug,此时可以看到本地已经处于监听状态,等待连接。
(5)在开发机上执行启动spark任务的脚本或者命令之后,本地就会连接到开发机,按如下操作之后,即可实现本地调试开发机代码。
(6)接下来,就可以畅快的进行本地调试了啊。我们可以对dataFrame进行cache,head等各种操作,还能通过”计算表达式“进行提前操作,如你有预感会在某一行出错,可以通过“计算表达式”来执行,如果报错,此时程序并没有结束,spark也不会关闭,可以进行修改,计算,直到解决错误。