【发布时间】:2019-12-01 23:00:12
【问题描述】:
我正在使用带有 Pyspark 的 Spark MLlib 来完成我的作业,并且需要证明它比传统的机器学习方法更好。我有一个正在运行逻辑回归的数据集,我正在寻找准确度、精度、召回率等指标。
在 PySpark 和普通 Python 脚本中运行代码时,我意识到普通的 puthon 脚本会更快地完成执行,因为数据集中有大量数据,所以不应该出现这种情况。我很快深入挖掘并意识到 Spark 只运行 1 个 worker 并且只分配了一个核心。因此,我在 spark-defaults.conf 中进行了以下更改,因为我有一个具有 8 个 VCPU 和 16 Gb RAM 的 VM。
spark.driver.memory 8g
spark.driver.cores 8
spark.executor.instances 8
现在 Spark 对数据运行 ML 代码所花费的时间已显着减少。是否有任何进一步的优化我应该看看。我在独立模式下运行 Spark,即我的 master 和 worker 是同一个节点。
【问题讨论】:
-
以什么方式更好?速度?准确性?只有在您尝试处理非常大的数据集时,Spark 才有意义。
标签: apache-spark machine-learning pyspark