修改Pyspark源代码以进行调试

时间:2018-02-01 14:40:58

标签: apache-spark pyspark

我正在尝试修改Pyspark源代码,以便模拟非确定性场景,以便测试一些配置更改。具体来说,我对rdd.py进行了更改以暂停一段时间以模拟工作节点停止保存为s3。当我在Pyspark shell中运行代码时,我能够观察到我的更改的效果,但是当我运行spark-submit时却没有。即使我在本地运行也会发生这种情况

我很困惑Pyspark从shell调用与通过spark-submit之间的区别。从我可以看到修改后的rdd.py已部署到$ SPARK_HOME / python / pyspark下的位置。

有没有人对此有任何见解? 我正在运行spark-2.1.0。

感谢。

2 个答案:

答案 0 :(得分:1)

PySpark库不随作业一起分发,而是从<head> <style> #droppablediv{ float: left; width: 100px; height: 35px; border: 1px solid black; } #nondroppablediv{ float:left; width: 100px; height: 35px; border: 1px solid black; background-image: url(urlhere); } </style> /* Javascript functions */ </head> <body> <div id="droppablediv" ondrop="drop(event)" ondragover="allowDrop(event)"></div> <div id="nondroppablediv" ondrop="drop(event)" ondragover="allowDrop(event)"></div> <img src="mydraggableimage.jpg" draggable="true" ondragstart="drag(event)" id="drag2" width="88" height="31"> </body> 加载。这意味着:

  • 应将修改后的代码分发给所有工作节点。
  • 您应该确保SPARK_HOME指向正确的安装。

我个人认为除非您想要更改SPARK_HOMEworker.py或其他低级别详细信息,否则完全不需要修改Spark代码。

通过在daemon.py中运行事物,可以实现高级别的行为。

答案 1 :(得分:0)

我弄明白了这个问题。我已更新$SPARK_HOME/python/pyspark/rdd.py但我没有更新 $SPARK_HOME/python/pyspark/python/lib/pyspark.zip这就是我需要做的。