【问题标题】:Debugging pyspark in ipdb-fashion在 ipdb-fashion 中调试 pyspark
【发布时间】:2017-03-15 11:19:22
【问题描述】:

在开发python代码时,我使用包ipdb

这会停止在那里执行 python 代码,我在其中插入了ipdb.set_trace(),并为我提供了一个 python 解释器命令行。

但是,在我为 pyspark 开发并使用 spark-submit 发送的 python 代码中,ipdb 包不起作用。

所以我的问题是:有没有一种方法可以以类似于使用 ipdb 包的方式调试我的 pyspark 代码?

注意:显然,对于在远程节点上执行的 python 代码,这是不可能的。但是当使用 spark-submit 和选项 --master local[1] 时,我希望它可能是可能的。

附言。这里有一个相关的问题,但范围更窄:How to PySpark Codes in Debug Jupyter Notebook

【问题讨论】:

    标签: python debugging pyspark ipdb


    【解决方案1】:
    PYSPARK_DRIVER_PYTHON=ipython pyspark
    
          ____              __
         / __/__  ___ _____/ /__
        _\ \/ _ \/ _ `/ __/  '_/
       /__ / .__/\_,_/_/ /_/\_\   version 2.4.3
          /_/
    
    Using Python version 3.7.1 (default, Jun 16 2019 23:56:28)
    SparkSession available as 'spark'.
    
    In [1]: sc.stop()
    
    In [2]: run -d main.py
    Breakpoint 1 at /Users/andrii/work/demo/main.py:1
    NOTE: Enter 'c' at the ipdb>  prompt to continue execution.
    > /Users/andrii/work/demo/main.py(1)<module>()
    1---> 1 print(123)
          2 import ipdb;ipdb.set_trace()
          3 a = 2
          4 b = 3
    

    In [3]: run main.py
    123
    > /Users/andrii/work/demo/main.py(3)<module>()
          2 import ipdb;ipdb.set_trace()
    ----> 3 a = 2
          4 b = 3
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多