【MaxCompute Spark】不想自己搭Spark集群, 也能跑Spark分布式作业???

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 【MaxCompute Spark】不想自己搭Spark集群, 也能跑Spark分布式作业???

MaxCompute Spark 是什么?

阿里云的用户大部分应该都听说过MaxCompute,但是MaxCompute Spark是什么?我尝试用几个问题来回答这个问题。

  • 公司准备把Spark的业务和作业上阿里云,从以前的经验来看,运维Spark+Hadoop集群可是个重头活,存不存在这种提供Spark服务的PaaS产品?
  • 公司的部分业务以及作业顺利迁移至MaxCompute了,Spark作业还得能够和MaxCompute的数据无缝集成呀?
  • 云上的Spark作业成本不知道该怎么打算盘了?

MaxCompute Spark提供了:

  • 全托管、与MaxCompute一体化集成的Spark解决方案,只需关注Spark Application开发,没有集群运维的脏活累活。
  • 从调度上、存储上,与MaxCompute native集成,性能最优解;并且能够无缝集成MaxCompute本身的数据。
  • Paas模式,单作业计费模式,比构建一个Spark集群更加便宜。

更多详情请看 https://help.aliyun.com/document_detail/102357.html?spm=a2c4g.11186623.6.765.326d7bc3Scfwxb

用MaxCompute Spark快速冒烟

我将以一个开发者的角色,以一个快速冒烟的Case,过一遍MaxCompute Spark的冒烟过程。

!!!前置依赖 !!!
唯一的前置依赖是,已经是MaxCompute客户,并获取MaxCompute的

  • projectName
  • accessId
  • accessKey

步骤一 获取MaxCompute Spark客户端

spark-2.3.0

请下载Spark客户端并且解压到本地的任意目录

步骤二 配置spark-defaults.conf

# 解压后的下述路径有一个配置的模版
${SPARK_HOME}/conf/spark-defaults.conf.template

# 需要做一个rename操作
mv spark-defaults.conf.template spark-defaults.conf

# Edit 以下配置只需要填入projectName accessId accessKey即可
# OdpsAccount Info Setting
spark.hadoop.odps.project.name =
spark.hadoop.odps.access.id =
spark.hadoop.odps.access.key =
spark.hadoop.odps.end.point = http://service.cn.maxcompute.aliyun.com/api

# this endpoint should not change
spark.hadoop.odps.runtime.end.point = http://service.cn.maxcompute.aliyun-inc.com/api
# Resource Requirement
# spark.executor.instances = 1
# spark.executor.cores = 2
# spark.executor.memory = 6g
# spark.driver.cores = 2
# spark.driver.memory = 4g
# spark.master = yarn-cluster

# Cupid Service Version
spark.hadoop.odps.task.major.version = cupid_v2

# Odps Catalog
spark.sql.catalogImplementation = odps

# Cupid Longtime Job
# spark.hadoop.odps.cupid.engine.running.type = longtime
# spark.hadoop.odps.cupid.job.capability.duration.hours = 8640
# spark.hadoop.odps.moye.trackurl.dutation = 8640

# SparkR Setting
# odps.cupid.spark.r.archive=/path/to/R-PreCompile-Package.zip

spark.hadoop.odps.cupid.webproxy.endpoint: http://service.cn.maxcompute.aliyun-inc.com/api
spark.hadoop.odps.moye.trackurl.host: http://jobview.odps.aliyun.com
AI 代码解读

步骤三 编写Spark Application

因为此Demo是冒烟意图,所以我们已经有一个写好了的SparkPi供客户直接使用

git clone git@github.com:aliyun/aliyun-cupid-sdk.git
cd aliyun-cupid-sdk
git checkout -b 3.3.3-public -t origin/3.3.3-public
cd spark/spark-2.x/spark-examples/
mvn clean package

# 编译完成后 以下jar包就是可以直接用来提交
/path/to/aliyun-cupid-sdk/spark/spark-2.x/spark-examples/target/spark-examples_2.11-3.3.3-public-shaded.jar
AI 代码解读

步骤四 spark-submit 提交作业

cd ${SPARK_HOME}
bin/spark-submit --master yarn-cluster \
                          --class com.aliyun.odps.spark.examples.SparkPi \
                          /path/to/aliyun-cupid-sdk/spark/spark-2.x/spark-examples/target/spark-examples_2.11-3.3.3-public-shaded.jar

# 正常提交我们可以看到两个URL

# logview MaxCompute内置的WebUI
http://logview.odps.aliyun.com/logview/?h=http://service.cn.maxcompute.aliyun.com/api&p=smoketest_ay20c&i=20190516110817581gbofkmim&token=RFZiMlNMUW5Ua2dUSHE5NkE5ZFRlUjRFTldJPSxPRFBTX09CTzoxNDM1NzcwMjYwMzQ2NTMxLDE1NTgyNjQwOTcseyJTdGF0ZW1lbnQiOlt7IkFjdGlvbiI6WyJvZHBzOlJlYWQiXSwiRWZmZWN0IjoiQWxsb3ciLCJSZXNvdXJjZSI6WyJhY3M6b2RwczoqOnByb2plY3RzL3Ntb2tldGVzdF9heTIwYy9pbnN0YW5jZXMvMjAxOTA1MTYxMTA4MTc1ODFnYm9ma21pbSJdfV0sIlZlcnNpb24iOiIxIn0=

# jobview Spark内置的WebUI
http://jobview.odps.aliyun.com/proxyview/jobview/?h=http://service.cn.maxcompute.aliyun-inc.com/api&p=smoketest_ay20c&i=20190516110817581gbofkmim&t=spark&id=application_1558004886350_754895007&metaname=20190516110817581gbofkmim&token=a2YxYnAraFVLbHVvM1poNjNHdDE5WThodFhFPSxPRFBTX09CTzoxNDM1NzcwMjYwMzQ2NTMxLDE1NTgyNjQxMzUseyJTdGF0ZW1lbnQiOlt7IkFjdGlvbiI6WyJvZHBzOlJlYWQiXSwiRWZmZWN0IjoiQWxsb3ciLCJSZXNvdXJjZSI6WyJhY3M6b2RwczoqOnByb2plY3RzL3Ntb2tldGVzdF9heTIwYy9pbnN0YW5jZXMvMjAxOTA1MTYxMTA4MTc1ODFnYm9ma21pbSJdfV0sIlZlcnNpb24iOiIxIn0=
AI 代码解读

这两个Url可以看到Spark作业的执行结果以及状态跟踪,至此,我们就非常简单的完成了Spark作业的提交。

技术支持

还是一句话,如果你想甩掉Spark集群的运维,并且以低成本高效的方式运行Spark服务,就来咨询我们团队吧!

用钉钉扫码咨询我们吧!

_

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
打赏
0
0
0
1
8
分享
相关文章
Spark Master HA 主从切换过程不会影响到集群已有作业的运行, 为什么?
Spark Master 的高可用性(HA)机制确保主节点故障时,备用主节点能无缝接管集群管理,保障稳定运行。关键在于: 1. **Driver 和 Executor 独立**:任务执行不依赖 Master。 2. **应用状态保持**:备用 Master 通过 ZooKeeper 恢复集群状态。 3. **ZooKeeper 协调**:快速选举新 Master 并同步状态。 4. **容错机制**:任务可在其他 Executor 上重新调度。 这些特性保证了集群在 Master 故障时仍能正常运行。
MaxFrame:链接大数据与AI的高效分布式计算框架深度评测与实践!
阿里云推出的MaxFrame是链接大数据与AI的分布式Python计算框架,提供类似Pandas的操作接口和分布式处理能力。本文从部署、功能验证到实际场景全面评测MaxFrame,涵盖分布式Pandas操作、大语言模型数据预处理及企业级应用。结果显示,MaxFrame在处理大规模数据时性能显著提升,代码兼容性强,适合从数据清洗到训练数据生成的全链路场景...
104 5
MaxFrame:链接大数据与AI的高效分布式计算框架深度评测与实践!
MaxFrame 产品评测:大数据与AI融合的Python分布式计算框架
MaxFrame是阿里云MaxCompute推出的自研Python分布式计算框架,支持大规模数据处理与AI应用。它提供类似Pandas的API,简化开发流程,并兼容多种机器学习库,加速模型训练前的数据准备。MaxFrame融合大数据和AI,提升效率、促进协作、增强创新能力。尽管初次配置稍显复杂,但其强大的功能集、性能优化及开放性使其成为现代企业与研究机构的理想选择。未来有望进一步简化使用门槛并加强社区建设。
95 7
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论。
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
MaxCompute MaxFrame评测 | 分布式Python计算服务MaxFrame(完整操作版)
在当今数字化迅猛发展的时代,数据信息的保存与分析对企业决策至关重要。MaxCompute MaxFrame是阿里云自研的分布式计算框架,支持Python编程接口、兼容Pandas接口并自动进行分布式计算。通过MaxCompute的海量计算资源,企业可以进行大规模数据处理、可视化数据分析及科学计算等任务。本文将详细介绍如何开通MaxCompute和DataWorks服务,并使用MaxFrame进行数据操作。包括创建项目、绑定数据源、编写PyODPS 3节点代码以及执行SQL查询等内容。最后,针对使用过程中遇到的问题提出反馈建议,帮助用户更好地理解和使用MaxFrame。
MaxFrame 性能评测:阿里云MaxCompute上的分布式Pandas引擎
MaxFrame是一款兼容Pandas API的分布式数据分析工具,基于MaxCompute平台,极大提升了大规模数据处理效率。其核心优势在于结合了Pandas的易用性和MaxCompute的分布式计算能力,无需学习新编程模型即可处理海量数据。性能测试显示,在涉及`groupby`和`merge`等复杂操作时,MaxFrame相比本地Pandas有显著性能提升,最高可达9倍。适用于大规模数据分析、数据清洗、预处理及机器学习特征工程等场景。尽管存在网络延迟和资源消耗等问题,MaxFrame仍是处理TB级甚至PB级数据的理想选择。
75 4
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
129 2
【大数据分析&机器学习】分布式机器学习
本文主要介绍分布式机器学习基础知识,并介绍主流的分布式机器学习框架,结合实例介绍一些机器学习算法。
616 5
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
232 2
分布式是大数据处理的万能药?
分布式技术在大数据处理中广泛应用,通过将任务拆分至多个节点执行,显著提升性能。然而,它并非万能药,适用于易于拆分的任务,特别是OLTP场景。对于复杂计算如OLAP或批处理任务,分布式可能因数据交换延迟、非线性扩展等问题而表现不佳。因此,应先优化单机性能,必要时再考虑分布式。SPL等工具通过高效算法提升单机性能,减少对分布式依赖。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等