Apache spark 修改Pyspark源代码以进行调试

Apache spark 修改Pyspark源代码以进行调试,apache-spark,pyspark,Apache Spark,Pyspark,我试图修改Pyspark源代码,以模拟非确定性场景,从而测试一些配置更改。具体地说,我对rdd.py进行了更改,使其休眠一段时间,以模拟工作节点停止保存到s3。在pysparkshell中运行代码时,我能够观察到更改的效果,但在运行sparksubmit时却无法观察到。即使在本地运行时也会发生这种情况 我很困惑,从shell调用Pyspark与通过spark submit调用Pyspark有什么区别。据我所见,修改后的rdd.py已部署到$SPARK_HOME/python/pyspark下的位

我试图修改Pyspark源代码,以模拟非确定性场景,从而测试一些配置更改。具体地说,我对rdd.py进行了更改,使其休眠一段时间,以模拟工作节点停止保存到s3。在pysparkshell中运行代码时,我能够观察到更改的效果,但在运行sparksubmit时却无法观察到。即使在本地运行时也会发生这种情况

我很困惑,从shell调用Pyspark与通过spark submit调用Pyspark有什么区别。据我所见,修改后的rdd.py已部署到$SPARK_HOME/python/pyspark下的位置

有人对此有什么见解吗? 我正在运行spark-2.1.0


谢谢。

PySpark库不是随作业一起分发的,而是从SPARK_主页加载的。这意味着:

修改后的代码应分发到所有工作节点。 您应该确保SPARK_HOME指向正确的安装。 我个人认为修改Spark代码是完全没有必要的,除非您想更改worker.py、daemon.py或其他低级细节


高级行为可以通过在mapPartitions中运行东西来实现。

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