我正在研究Google Dataproc集群上的Jupyter Notebook。当您使用笔记本时,它会在每个单元的执行情况下提供输出。
我必须在集群上提交PySpark作业。该作业将一个.py文件作为输入。屏幕截图如下
当我输入.ipynb文件的路径时,出现以下错误。
线程“ main”中的异常org.apache.spark.SparkException:无法从JAR文件加载主类:/ tmp / job-e4811479-cell2cell1 / Customer_Churn_(Cell2Cell)_Parallel.ipynb 在org.apache.spark.deploy.SparkSubmitArguments.error(SparkSubmitArguments.scala:657) 在org.apache.spark.deploy.SparkSubmitArguments.loadEnvironmentArguments(SparkSubmitArguments.scala:221) 在org.apache.spark.deploy.SparkSubmitArguments。(SparkSubmitArguments.scala:116) 在org.apache.spark.deploy.SparkSubmit $$ anon $ 2 $$ anon $ 3。(SparkSubmit.scala:907)。 在org.apache.spark.deploy.SparkSubmit $$ anon $ 2.parseArguments(SparkSubmit.scala:907) 在org.apache.spark.deploy.SparkSubmit.doSubmit(SparkSubmit.scala:81) 在org.apache.spark.deploy.SparkSubmit $$ anon $ 2.doSubmit(SparkSubmit.scala:920) 在org.apache.spark.deploy.SparkSubmit $ .main(SparkSubmit.scala:929) 在org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
我假设我们只能将.py文件作为群集上的作业提交。由于代码的本质,将.ipynb转换为.py对我也不可行。我想要每个单元格的输出。
有什么方法可以在群集上提交.ipynb文件?还是我需要制作一个.py文件来实现这一目标?
感谢您的帮助。谢谢。
您无法火花提交笔记本文件,即ipynb。
您应该将其转换为py文件,然后将其提交到spark dataproc集群。
spark Submit的输出可以将多个输出写入GCS,但仅返回一个输出。
因此您可以在GCS上为每个输出创建一个对象,并将结果包含在存储桶中。