Apache Spark优化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache Spark优化相关的知识,希望对你有一定的参考价值。

我正在将Spark MLlib与Pyspark一起使用,并且需要证明它比传统的机器学习方法更好。我有一个数据集,在该数据集上运行Logistic回归,并且发现了诸如准确性,精度,召回率等指标。

虽然在PySpark中运行代码并使用普通的Python脚本,但我意识到普通的puthon脚本将更快地完成执行,而事实并非如此,因为数据集中有很多数据。我很快进行了更深入的挖掘,意识到Spark只需运行1个工作线程,并且只分配了一个内核。因此,由于我的VM具有8个VCPU和16 Gb RAM,因此我在spark-defaults.conf中进行了以下更改。

spark.driver.memory 8g
spark.driver.cores 8
spark.executor.instances 8

现在,Spark在数据上运行ML代码所花费的时间已大大减少。我还应该考虑进一步的优化吗?我在独立模式下运行Spark,即我的主服务器和工作服务器是同一节点。

我正在将Spark MLlib与Pyspark一起使用,并且需要证明它比传统的机器学习方法更好。我有一个正在运行Logistic回归的数据集,我正在...

答案

请记住,Spark是针对大数据环境的,因此,对于小型数据集(大小<1GB)来说,它可能不是最快的解决方案,但是对于非常大的数据集(大小>几个TB),这将是必不可少的。这是由Spark Java开销引起的,这增加了小规模计算所浪费的大量复杂性,而在集群环境(Hadoop)中,此框架确保即使某些节点出现故障,您也可以完成任务。对于较小的数据集,所有使用GPU的ML框架都是Spark的竞争对手,但毕竟Spark不仅为ML提供了更多优势。

以上是关于Apache Spark优化的主要内容,如果未能解决你的问题,请参考以下文章

Spark发现匹配字符串的出现次数

spark-kafka-es交互 优化

我可以使用 `rownum` 来优化 apache spark 读取 oracle 表吗? [复制]

优化 Apache Spark 以提升工作负载吞吐量

提效 7 倍,Apache Spark 自适应查询优化在网易的深度实践及改进

提效7倍,Apache Spark 自适应查询优化在网易的深度实践及改进