Apache Spark在海致大数据平台中的优化实践
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache Spark在海致大数据平台中的优化实践相关的知识,希望对你有一定的参考价值。
参考技术A 本文来自由海致网络技术公司翟士丹分享。专注于大数据技术领域,Apache Spark Contributor,有丰富的Spark SQL引擎调优经验。海致全称海致网络技术公司,成立于2013年7月。作为一家技术驱动的创业型公司,海致的创始班底拥有丰富的技术经验。核心团队成员来自百度、微软、IBM、EMC、硅谷等知名企业的资深互联网专家。
产品架构如下:
平台的整体技术架构如下:
多数据整合,形成统一的数据口径:
灵活易用高性能的可视化探索式分析:
数据同步:
OLAP任意多维分析引擎实现:
数据建模系统实现:
机器学习实现:
性能及稳定性优化:
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在海致大数据平台中的优化实践的主要内容,如果未能解决你的问题,请参考以下文章