简介

当下是大数据时代,为构建大数据平台,技术人员需要对分布式计算平台有一定深入的理解和应用。MapReduce作为一个经典 的分布式计算框架,已经广为人知,且得到了广泛的应用,但MapReduce自身存在很多问题,包括迭代式计算和DAG计算等类型的数据挖掘与机器学习算法性能低下,不能很好地利用内存资源,编程复杂度较高等。为了克服MapReduce的众多问题,新型计算框架Spark出现了。Spark被认为是新一代内存性计算框架,未来之星,Spark官方统计,Spark运行效率比MapReduce快10~100倍,下图是一个简单对比图(逻辑回归算法,横轴是迭代轮数,纵轴是所用时间):倍,下图是一个简单对比图(逻辑回归算法,横轴是迭代轮数,纵轴是所用时间):

图片4.png

2014年,Spark已经被不少互联网公司采用,大部分数据挖掘算法和迭代式算法在逐步从MapReduce平台迁移到Spark平台中,包括阿里巴巴(广告系统),腾讯(广点通精准推荐),百度,优酷土豆,360,支付宝等互联网公司已经在线上产品中使用spark,且取得了令人满意的效果,另外,部分省份的运营商也正在尝试使用spark解决数据挖掘和分析问题,部分银行,如工商银行,也正在尝试spark平台。据不完全统计,2015年,大部分互联网公司,运营商和金融公司(这里指已经在使用hadoop的公司),均会考虑和尝试引入spark平台,以部分替代MapReduce为主的低效的批处理计算平台。本课程将分别从理论基础知识,系统搭建以及应用案例三方面对spark进行介绍。本课程采用循序渐进的课程讲授方法,首先讲解Spark系统基础知识,概念及架构,之后讲解Spark实战技巧,最后详尽地介绍Spark经典案例,使培训者从概念到实战,均会有收获和提高。

目标

1.本课程将为大家全面而又深入的介绍Spark平台的构建流程,涉及Spark系统基础知识,概念及架构,Spark实战技巧,Spark经典案例等。

2.通过本课程实践,帮助学员对Spark生态系统有一个清晰明了的认识;理解Spark系统适用的场景;掌握Spark等初 中级应用开发技能;搭建稳定可靠的Spark集群,满足生产环境的标准;了解和清楚大数据应用的几个行业中的经典案例,包括阿里巴巴,腾讯,百度等互联网行业,中国移动和联通等运营商。

课程时长

3天(18H)

受众人群

各类IT/软件企业和研发机构的软件架构师、软件设计师、程序员。对于怀有设计疑问和问题,需要梳理解答的团队和个人,效果最佳。

学员基础

学员学习本课程应具备下列基础知识:

1)了解Java语言(Scala语言会作为课程内容进行介绍);

2)了解Linux系统;

基于Spark的大数据处理案例介绍

1.电子商务商品推荐系统

基于spark的商品推荐系统是互联网领域对spark的一个经典应用,阿里巴巴,京东,中国移动等大型公司都进行了广泛的应用,效果 显著,商品推荐系统通常包含基于规则的商品推荐和基于模型的商品推荐两类,分别介绍如下:

(1)基于规则的广告推荐

举例:筛选出北京地区,年龄在18~25岁的女士,并发布某广告

(2)基于模型的广告推荐

比如逻辑回归:

输入:性别,年龄,点击和购买记录

输出:是否会购买商品X

典型架构图如下:

图片3.png

2.大数据精准推荐

(1)腾讯

广点通是最早使用Spark的应用之一。腾讯大数据精准推荐借助Spark快速迭代的优势,围绕“数据+算法+系统”这套技术方案,实现了在“数据实时采集、算法实时训练、系统实时预测”的全流程实时并行高维算法,最终成功应用于广点通pCTR投放系统上,支持每天上百亿的请求量。

基于日志数据的快速查询系统业务构建于Spark之上的Shark,利用其快速查询以及内存表等优势,承担了日志数据的即席查询工作。在性能方面,普遍比Hive高2-10倍,如果使用内存表的功能,性能将会比Hive快百倍。

腾讯的广点通是以hadoop和spark为内核构建的,其架构如下:

图片2.png

(2)阿里巴巴

阿里搜索和广告业务,最初使用Mahout或者自己写的MapReduce来解决复杂的机器学习,导致效率低而且代码不易维护。淘宝技术团队使用了Spark来解决多次迭代的机器学习算法、高计算复杂度的算法等。将Spark运用于淘宝的推荐相关算法上,同时还利用Graphx解决了许多生产问题,包括以下计算场景:基于度分布的中枢节点发现、基于最大连通图的社区发现、基于三角形计数的关系衡量、基于随机游走的用户属性传播等。

3.某运营商基于spark的大数据架构

混搭架构是当前运营商的自然选择,根据数据的热度和存储成本来分布。通过三者的有效融合,以提供最大的计算能力。一般采用的思路为:

1、采用Tableau作为图形化配置和管理工具,将ETL过程、原子处理等转化为Spark的Task

2、离线批量接口和实时接口采用同样的配置,只有处理的时间间隔属性不同

架构图如下所示:

图片1.png


本文由转载于互联网,如有侵权请联系删除!