大数据技术应用干货:Spark在360商业数据部的应用实践

本文介绍了Spark在360商业数据部的应用,对比了Spark与MapReduce的优劣,强调了Spark的内存计算、DAG框架和组件支持。文章详细阐述了Spark在实时处理(SparkStreaming)、数据分析(SparkSQL和DataFrame)以及机器学习(MLLib)中的应用,并分享了使用Direct模式处理Kafka数据和SparkSQL中使用Parquet的经验,以及Spark参数调优的建议。
摘要由CSDN通过智能技术生成

Spark是一个正在快速成长的开源集群计算系统,生态系统中的包和框架日益丰富,使得Spark能够进行高级数据分析。功能强大、易于使用性,相比于传统的MapReduce大数据分析,Spark效率更高、运行时速度更快。成都加米谷大数据开发培训,学习hadoop、spark等技术。

大数据技术应用干货:Spark在360商业数据部的应用实践

 

Spark的应用现状

Spark需求背景

随着数据规模的持续增长,数据需求越来越多,原有的以MapReduce为代表的Hadoop平台越来越显示出其局限性。主要体现在以下两点:

• 任务执行时间比较长。特别是某些复杂的SQL任务,或者一些复杂的机器学习迭代。

• 不能很好的支持像机器学习、实时处理这种新的大数据处理需求。

Spark作为新一代大数据处理的计算平台,使得我们可以用Spark这一种平台统一处理数据处理的各种复杂需求,非常好的支持了我们目前现有的业务。与原有MapReduce模型相比,其具有下面3个特点:

• 充分使用内存作为框架计算过程存储的介质,与磁盘相比大大提高了数据读取速度。利用内存缓存,显著降低算法迭代时频繁读取数据的开销。

• 更好的DAG框架。原有在MapReduce M-R-M-R的模型,在Spark框架下,更类似与M-R-R,优化掉无用流程节点。

• 丰富的组件支持。如支持对结构化数据执行SQL操作的组件Spark-SQL,支持实时处理的组件Spark-Streaming,支持机器学习的组件Mllib,支持图形学习的Graphx。


以Spark为核心的数据平台结构

大数据技术应用干货:Spark在360商业数据部的应用实践

 

商业数据部的数据平台架构如上图所示,Spark在其中起到一个非常核心作用。目前每天提交的Spark作业有1200多个,使用的资源数Max Resources: ,每日处理的数据量约有100TB。


Spark的几种典型应用

基于SparkStreaming的实时处理需求

商业数据部内部有大量的实时数据处理需求,如实时广告收入计算,实时线上ctr预估,实时广告重定向等,目前主要通过SparkStreaming完成。

实时数据处理的第一步,需要有实时的数据。360的用户产品,几乎全国各地都部署有机房,主要有4大主力机房。实时数据的收集过程如下:

大数据技术应用干货:Spark在360商业数据部的应用实践

 

使用Apache flume实时将服务器的日志上传至本地机房的Kafka,数据延迟在10

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值