擅长:python、mysql、java
<p><code>--py-files</code>标志用于程序中使用的附加的python文件依赖项;您可以看到<a href="https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/deploy/SparkSubmit.scala#L791" rel="noreferrer">here in SparkSubmit.scala</a>它使用所谓的“主参数”(即第一个非标志参数)来确定是执行“submit jarfile”模式还是“submit python main”模式。</p>
<p>这就是为什么您会看到它试图将您的“$entry_函数”加载为一个不存在的jar文件,因为它只假设您在主参数以“.py”结尾时运行Python,否则默认为假设您有一个.jar文件。</p>
<p>不要使用<code>--py-files</code>,只需将<code>/home/full/path/to/file/python/my_python_file.py</code>作为主参数;然后您可以使用python将“entry function”作为程序参数,也可以在python文件本身的主函数中调用entry函数。</p>
<p>或者,您仍然可以使用<code>--py-files</code>,然后创建一个新的主<code>.py</code>文件来调用entry函数,然后将该主.py文件作为主参数传递。</p>