我是PySpark的新手。
我正在Jupyter Notebook中运行一个脚本(主要是创建一个tfidf并使用它预测9个分类列)。手动执行所有单元时,大约需要5分钟。从spark-submit运行相同的脚本时,大约需要45分钟。发生什么事了?
如果我从终端使用python运行代码,也会发生同样的事情(多余的时间)。
我还将脚本中的配置设置为
conf = SparkConf().set('spark.executor.memory', '45G').set('spark.driver.memory', '80G').set('spark.driver.maxResultSize', '20G')
感谢您的帮助。预先感谢。
答案 0 :(得分:2)
运行Spark代码有多种方式,就像您提到的Notebook,Pyspark和Spark提交很少。
当您在Jupyter笔记本电脑或pyspark shell中运行代码时,它可能已经为执行程序内存,驱动程序内存,执行程序核心等设置了一些默认值。
但是,当您使用Spark提交时,默认情况下这些值可能会有所不同。因此,最好的方法是在使用“ spark-submit”实用程序提交pyspark应用程序时将这些值作为标志传递。
sc = SparkContext(conf = conf)
希望这会有所帮助。
此致
Neeraj