title: Can not understand how Spark let python run at Yarn? How does the ProcessBuilder deal with zip file?
body: <p>The step is :</p>
  
  <p>1.package all the python files into the pyspark.zip when building Spark.</p>
  
  <p>2.spark-submit to Yarn it distributed the pyspark.zip to all the machine.</p>
  
  <p>3.Spark Worker find the pyspark.zip and process the python file in it.</p>
  
  <p>But the code <a href="https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/api/python/PythonWorkerFactory.scala#L117" rel="nofollow">here</a> and <a href="https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/api/python/PythonWorkerFactory.scala#L53" rel="nofollow">here</a> shows that it only put the zip files' path into ProcessBuilder's environment. And I haven't find the code that unzip pyspark.zip .</p>
  
  <p>So I'm wondering how does ProcessBuilder unzip the pyspark.zip ?
  Or how does Spark Worker run the python files in pyspark.zip ?</p>