大数据应用案例-如何搭建大数据平台技术架构?_第1页
大数据应用案例-如何搭建大数据平台技术架构?_第2页
大数据应用案例-如何搭建大数据平台技术架构?_第3页
大数据应用案例-如何搭建大数据平台技术架构?_第4页
大数据应用案例-如何搭建大数据平台技术架构?_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大数据应用案例-如何搭建大数据平台技术架构?本文章来自于阿里云云栖社区如何搭建大数据平台技术架构?有没有好的大数据平台架构案例?本文以掌慧纵盈为案例,阐述了物联网企业的业务架构和数据架构,以及技术选型的思考过程。如何搭建大数据平台技术架构?有没有好的大数据平台架构案例?本文以掌慧纵盈为案例,阐述了物联网企业的业务架构和数据架构,以及技术选型的思考过程。借助互联网+大数据+机场”三轮驱动,掌慧纵盈每年为 6.4亿人次出行提供无线网络连接服务。 随着业务的拓展,随之后来的挑战是数据量的暴增。2016年,掌慧纵盈通过阿里云产品,率先构建了业界领先的大数据平台。以下来自掌慧纵盈的大数据平台架构师的分享

2、:业务架构举琶Wi-Fi出晶线上打通ONLINE橄主活医疗字戏纵盈大数揭障數齬采毎、IDMapping.人业霸分析200京三甲圧扯細軒金辭星恥店、加 油鮎一迁特小止丨制W F伽IFi线下场景OFFLINE掌慧纵盈的业务架构如图所示。我们的业务模式主要就是通过自有设备对数据进 行收集,对数据的价值进行挖掘,最后对这些数据应用。数据收集层,我们创立了国内机场官方Wi-Fi第一品牌“Airpo-Free-WiFi”,网络遍布全国25个枢纽机场和39个枢纽高铁站,每年为6.4亿人次出行提供无 线网络连接服务;我们拥有全国最大的驾校 Wi-Fi网络,到17年底将覆盖1500+ 所驾校;我们也是中国四大车

3、展(北京、上海、广州、成都)Wi-Fi服务商,为超过120万人次提供了网络服务;此外,我们还运营了全国2000+个加油站和600+个汽车4S经销店的 Wi-Fi网络。数据应用层,我们打通了线上和线下行为数据,用于用户画像,为包括SSP,DSP,DMP,RTB在内的广告业务提供更高效的精准触达;并和公安部合作, 排查公共网络安全威胁。掌慧纵盈的大数据平台和广告投放平台还为企业输出技术能力,帮助企业建立自己的大数据平台,用丰富的量化数据提升企业的运营管理效率。数据架构图2掌卓纵掘的裁揖聖构数 据 存丄MAC116 亿IMEI:2 亿IDFA:1500万PHONE:4000万基于我们的业务架构,我们

4、抽象除了我们的数据架构,其中包含了许多主题,其 主题视图如图所示。图中本体可以简单的理解为人,客体可以简单的理解为物; 本体与客体以各种形式进行连接,这种连接是一种时间维度和空间维度上的交汇, 这种连接通过计算机网络和电信网络完成。 本体在连接网络中有自己的像,可以 简单的理解为虚拟身份(Avatars );客体在连接网络中也有自己的像,例如维 基百科对某一事物的描述,再比如某一事物商业化后形成产品或服务, 再经过广 告包装成其广告形象,这些都是其客像。本体与客体的交互实际上就是本像和客 像的交互,这种交互在时间和空间的维度上都会留下轨迹。本体的个体特征和群体特征,客体的个体特征和群体特征,本

5、客交互的所有轨迹, 所有这些主题形成的大数据,经过深度挖掘和学习,可以得出强大的洞察力,这 种洞察力具有不可估量的商业价值。掌慧纵盈目前在本体域和交互域的数据体量:场站:10亿ENT: 10亿ADOS: 50亿 亿点APP : 1500万 每日新增用户:2万技术选型接下来说一下我们技术选型的思路。我认为,没有最好的技术架构,只有最合适的架构。成功的IT规划就是从业务架构岀发,针对其每一个业务场景,给岀最合适的技术架构。功能需求首先来看我们的功能需求。以我们的广告业务为例,目标是日消息处理量达到100亿条。其对大数据能力的要求如下:主懸日齟QPS壹湖范国H屈訟request10r000(000r

6、000115(741 (T-3flT-1H 90900,000,000,0001时request10,000X)00,000115(741 (T-1 年.T-3月)3651 砧 000.00比0002天bid3%300,000,0003,472 (13月,T-10)9027,000.000,0005秒bid3%300,000,0003,472 (T-1.» . T 3月)548164.400.000,0002天unbid97%9700.000,000112r269(T-3月,T-W分)9087OO0pQC0fQ005秒unbid97%9700.000001U269 (T-15年 t3

7、月)5485r3Bf600R000f0002天pv50%150,000,0001,736 (T 3 , F10&)9013,500000.0005杪pv50%150,000,0001736 (T-1.5 . T 3月)5489200.000,0002天dick5%7rS00p00087 (T-3月,Td吩)9067S.OOOrOOO5秒dick5%7,500,00087 (T-15年,IT月)5484J IQ.000.0002天behavior50%3750,00043 (T-3fl t T-10&)90337.500,0005秒bchdviur50%43 ( T-15 . T

8、-3fl )5482,055.000,0002天團4广告业务对大数据能力的要求假设记录大小是 2KB,容纳这些数据我们需要70PB的物理容量。对查询范围的要求,推导岀,离线计算的处理时长 24小时,在线计算10分钟。非功能需求希望通过云平台将基础设施安装运维外包。*大数据技术日新月异,希组件版本能够及时更新。* 外部商业环境迅速变化,希望计算资源可以动态增减,以节约成本。* 希望以较低的成本获取相对专业的安全服务。*尽量使用开源组件,方便整体输岀。产品选择综合考察国内的云服务提供商,我们选择了阿里云,尤其是其E-MapReduce 产品,购买之后,集群马上就创建好了,Hive, Spark,

9、HBase 等开源大数据组件即刻可用。首先我们选择数据存储引擎。HiveRow25TB25T03,700轅霖宜询只治加就远Col + Idr2 STS15TB10,445雾表査词可車蘇.陆机柱线分折GrecnPlumMPP2ST025T0怏000多表査询,完整SQL在线分析Log ServiceIdx2 STBSTB9750单表直洵,嗨应福疋f含臥列冥时分忻tlaticSearchIdx2blBSOT 8J4PBSD輾色甸+闽应鶴足全交煌索注:F lasticSearcyi需要额外站 人力戌本均100C/月图5報据育储引华的造痒我们以存储25TB的数据为基准,考察各个选项的性能和价格。从图中可

10、以看出, 针对离线分析来说,如果想用开源组件,可以考虑 Hive on OSS勺模式,来存储 近一年的数据。针对在线分析的场景,使用HBase存储近三个月的数据,可以获 得很高的性价比,这个方案可以多表联查,但是SQL的响应对场景敏感,不同复 杂度的SQL响应时间是不一样的。如果希望响应时间恒定,可以考虑基于索引的 方案,即日志服务,缺点就是不能多表联查;如果想使用开源组件,可以自行在ECS上搭建ELK接下来我们选择查询引擎。我们使用一个基准 SQL,方便对其响应时间进行横 向对比,基准SQL如下图所示:%sqlselect IdAdUnitId,count(1) , 20161120 fro

11、m(select distinct IdAdUnitIdf Userid from pv where IdAdUnitld is not nulland IdAdUnitId != 11and datadate = 20161121133) a group by a-IdAdUnitid;ffi 6若靈查询引舉Hf用的基准SQL使用各种直询引篥茯得结耒的响应周期如下HiveQL76sMapReduceSparkSQL23sSparkRDDPhoenix0.133sHBase (列存储)图?响应周期的验证结果结论是,使用Phoenix基于HBase进行交互式查询,可以获得很满意的响应周期 选型部

12、分告一段,接下来给出大数据平台的技术架构。技术架构幵炭覇试环tn(分布董)存代码車田农辛蓦理楼剧皆任势冒度自动匡团轨共拿工"理ECSSS® ADSEiS*心黑賈幻土血祗女至DOost 护帘呂技术架幽麻览大数据平台的技术架构概览如图所示, 图中几乎所有的服务和功能都是通过阿里云产品来实现的, 其中开发测试环境也是基于阿里云的 ECS搭建的。从图中可以看出,我们并不需要关心机房的 电源、网络、虚拟化、硬盘更换等一系列基础设施问题,直接基于云平台,专注于我们自己的业 务。产品使用中有一些心得,总结如下:E-MapReduce阿里云的E-MapReduce 是我们大数据平台的核心产

13、品,其涵盖了Hive, Spark, HBase, Storm等大数据领域核心的开源组件,还有Phoenix. Presto 等业界前沿的查询引擎,其Zeppelin. Hue等交互组件也是开箱即用。E-MapReduce 不断有新的版本发布,其中的组件版本也是不断更新,但是已经购买的E-MapReduce 是无法方便的升级的,为了及时升级组件版本,我们采取包月而不是包年模式。包月到期,想要升级,直接买新的,旧的不续费,自行销毁。阿里的E-MapReduce只能增加节点不能减少节点,通过上述的滚动模式,还可以随时调整集群规模和各种配置。上述的这种滚动模式,对于计算集群来说没问题,数据存储怎么办

14、呢?E-MapReduce 所用的机器配置都很高,用来存储数据就可惜了,数据可以存储在OSS上,使用Hive加载即可。不过要使用HBase还是要把数据存到 E-MapReduce 上,一但放到 E-MapReduce 上,这个集群就 不能随意销毁了。 所以,我们实践当中将数据集群和计算集群分开,计算集群可以随时销毁和升级,数据集群需要长期稳定提供服务。这两种的集群配置也是不一样的,计算集群用SSD,主攻 快”数据集群(HBase )用高效云盘,主攻大”那按量付费呢,什么场景下使用?我们计算过,如果计算时长超过7天,那么还是直接购买包月的集群比较划算。按量付费的集群可以用于临时突发的计算任务。工

15、单管理使用阿里的云服务,最吸引人的就是工单服务。由于我们的运维团队会经常遇到复杂且需要紧迫解决的问题,团队成员可以直接通过工单请求阿里的工程师协助解决。沟通问题的过程也是我们学习的过程,我们向阿里云服务的工程师们学到了不少的东西。软件视图 基于技术概览,我们技术架构中的软件视图如下所示:命*k宜EmyPdvqurtLogHUDI ogMtwindeedECS1Outer5叫LogrfarcherZeppelin图g技犬課构较件规至I一些使用心得总结如下:负载均衡SLB原来,为了管理方便,我们好多云服务器ECS都开通了外网,但是实际使用率不高,外网带宽的成本占用云服务器成本很大的一部分,现在我们

16、所有云服务器都去掉了外网带宽,统一走负载均衡SLB,共享负载均衡 SLB的外网带宽,包括 SSH等所有应用的端口都是用负载均衡SLB转发。负载均衡 SLB带宽不受限制,速度上来了,成本下来了,算是我们对负载均衡SLB的一个活用。云服务器ECS由于我们的业务环境变化很快,有些机器可能今天还有用,明天就没用了,所以我们采用包月加自动续费的模式,随时增减机器,随时增配减配。ONS也即阿里的日志服务,阿里内部叫MQ,其响应时间很快,吞吐量很大,可以应用于实时性非常高的场景,例如实时竞价。日志服务Log Service其包含 Logtail , LogStore, LogHub , LogShipper

17、 和 LogSearch 服务,其中日志投递(LogShipper ) 功能很有用,可以自动将采集的日志投递到对象存储OSS,这样就可以直接使用Hive加载了,不过目前只支持json格式。在我们的建议下,日志服务团队将会支持CSV,SequenceFile 和Parquet格式,预计于 2017年1月上线。Spark其官方给岀的例子和阿里帮助文档里的例子都是基于Scala的,不过我们还是选择了用Java进行Spark应用的开发,这样我们开发团队的组建会更加便利。如果能使用Java 8 ,那么从函数式编程方式尤其是lambda表达式的角度就十分接近Scala的表现能力了。 在我们的建议下,目前阿

18、里云新版本的 E-MapReduce 已经支持了 Java 8。需要提一句,数据在大数据计算服务 ODPS (现名称 MaxCompute ),那也没关系。E-MapReduce 提供SparkSQL服务,可以无缝访问大数据计算服务ODPS数据。使用大数据计算服务 ODPSStorm目前 E-MapReduce或者通过引导操作在的用户也可以加入到 Spark生态体系中。从日志服务消费;已经提供了 Storm组件,想要使用此组件,有两个选择:E-MapReduce 上安装Kafka,支持增加节点。对象存储OSS对象存储OSS主要用于存储,与 E-MapReduce 结合,实现了计算与存储的分离。

19、Zeppeli n这真的是一个好东西, 业务人员通过它,可以通过 Web的形式使用 HiveQL, SparkSQL, Phoenix. Presto等对数据进行探索式和交互式的查询,而无需编程和登录SSH,并且可以保存过往的查询,还可以形成简单的柱状图饼图。我们的DMP工程师再也不用为了某一个统计数字通宵写代码了,业务人员自己就可以搞定。Phoe nixHBase本身是NoSQL数据库,结构化查询是其弱项,我们就是有很多OLAP的需求,希望交互式出结果,原来的做法是自己创建HBase的二级索引,对非主键字段进行跳转查询。后来发现,E-MapReduce 上, Phoenix已经为我们搭建好了

20、啊,其索引机制生成的 HBase索引表,不就是我们原来手工创建的索引表吗。于是全部转向使用Phoenix进行交互式查询。E-MapReduce老版本的Phoenix的默认查询超时是 1分钟,对我们来说太短了,改参数又要重启。在我们的 建议下,目前 E-MapReduce 新版本的Phoenix的默认超时时长已经设置为半个小时了。场景举例批量计算,LogTail + LogHub + LogShipper + OSS + Hive + SparkSQL批量计算重在采集,使用 LogTail配置好采集规则,通过 LogShipper自动投递到OSS,使用 Hive直接加载形成数据仓库,在 Zeppelin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论