笔记本与火花提交
Notebook vs spark-submit
我是 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')
感谢任何帮助。提前致谢。
有多种方法可以运行 Spark 代码,就像您提到的几个 Notebook、Pyspark 和 Spark-submit。
- 关于 Jupyter Notebook 或 pyspark shell。
当您 运行 在 Jupyter 笔记本或 pyspark 中编写代码时 shell 它可能已经为执行程序内存、驱动程序内存、执行程序核心等设置了一些默认值。
- 关于火花提交。
但是,当您使用 Spark-submit 时,默认情况下这些值可能不同。因此,最好的方法是在使用 "spark-submit" 实用程序提交 pyspark 应用程序时将这些值作为标志传递。
- 关于您创建的配置对象,可以在创建 Spark Context (sc) 时通过。
sc = SparkContext(conf=conf)
希望对您有所帮助。
此致,
尼拉吉
我是 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')
感谢任何帮助。提前致谢。
有多种方法可以运行 Spark 代码,就像您提到的几个 Notebook、Pyspark 和 Spark-submit。
- 关于 Jupyter Notebook 或 pyspark shell。
当您 运行 在 Jupyter 笔记本或 pyspark 中编写代码时 shell 它可能已经为执行程序内存、驱动程序内存、执行程序核心等设置了一些默认值。
- 关于火花提交。
但是,当您使用 Spark-submit 时,默认情况下这些值可能不同。因此,最好的方法是在使用 "spark-submit" 实用程序提交 pyspark 应用程序时将这些值作为标志传递。
- 关于您创建的配置对象,可以在创建 Spark Context (sc) 时通过。
sc = SparkContext(conf=conf)
希望对您有所帮助。
此致,
尼拉吉