服务热线:400-0033-166
万商云集 - 企业数字化选用平台

企业首选的

数字选用平台

分析百度开放云分布式计算平台对大数据的处理

2020-12-31 10:12:21 阅读(186 评论(0)

百度开放云总经理刘洋认为,当今世界正面临着技术突破带来的全行业升级。在这场商业剧变中,背后有三个重要的问题「重新定义」:首先,重新定义云计算「IT」。它改变了企业所需的IT资源的所有权和供应模式。基于互联网资源管理平台,传统企业的IT模式完全改变,为新的商业创新提供了可能性;第二,大数据被重新定义「资产」,与以往的重资产相比,企业在经营中不断生成的数据将成为企业未来继续生存和保持竞争力的砝码;第三,人工智能被重新定义「效率」,传统计算机通过语音、图像、视频、自然语言识别和智能处理等技术,具有更强的能力,大大提高了工作效率。基于以上三个重新定义,百度开放云的重新堆栈也分为云计算层、大数据应用层和人工智能层三层。基于以上三个重新定义,百度开放云的重新堆栈也分为三层:云计算层、大数据应用层和人工智能层。处理大数据只有四个步骤:收集:原始数据类型、格式、位置、存储、及时性等。从异构数据源中收集数据,并将数据转换为相应的格式,便于处理。存储:根据成本、格式、查询、业务逻辑等需要,收集到的数据需要存储在适当的存储中,以便进一步分析。变形:原始数据需要变形和增强才能适合分析,如网页日志用省市取代IP地址、传感器数据纠错、用户行为统计等。分析:whathapened通过整理的数据分析、whyithappened、whatishapeningwhatwillhappen,帮助企业做出决策。事实上,如果涉及到“大数据”,我们必须提到百度最大的业务搜索。百度搜索已经收录了世界上一万多亿的网页,每天响应中国网民几十亿次的要求。此外,百度还有20多个用户超过1亿的产品线,每个产品底部的大规模数据处理都需要使用百度团队维护的大数据处理平台。百度分布式计算平台:Mapreduce首先介绍了离线引擎优化的主要离线计算模型——MapReduce,自2007年以来,百度引进了Hadoop0.15.1,随后发展迅速,2011年百度MR单集群达到5000台,到2013年已达到1.3万台,这也是迄今为止世界上最大的单集群。Hadoop全集群规模为10万量级,运营量达到100万量级,日均CPU利用率超过80%,远远超过行业同行。百度开云(http://cloud.baidu.com)世界领先的大规模集群调度、资源隔离等技术能力。百度在Hadoop性能分析方面除了不断扩大规模外,还进行了大量优化。根据2013年的测试结果,百度内部MR的性能比开源Hadop提高了30%。典型的优化,如Hadoop中的Shufle,百度将其制作成统一的Shufle服务,不再占用Map或Reduce槽。例如,SSE向量化用于关键热点函数。2014年,百度继续对计算引擎进行大幅优化,NativeC DAG引擎正式上线。下图是4轮MRJob实现的典型业务流示例。DAG引擎上线后,可以优化为DAG操作,避免磁盘IO和网络IO引入三个Reduce写多个副本,避免两个Map读HDFSIO和处理成本。下图是SQL计算表示层翻译的真实业务。基于MR引擎,SQL将翻译成25个MRJOB。如果百度优化为DAG,可以避免多次磁盘IO操作。优化后,运行时间直接缩短到1小时,优化前后的差异非常明显。2014年,百度对Shuffle进行了重大重构。实习生完成的Demo以Baidusort的名义参加了2014年SortBenchmark大数据排名国际大赛,并获得冠军(百度2015年不再参加,其他国内公司通过同样的技术通过更大的集群刷新记录)。新的Shuffle技术于2015年全面推出。基于磁盘Pull模式的Hadoop默认Shufle实现了计算过程显式、Shuffle、Reduce过程;Baidu开发的新Shufle采用内存流Push模式,Map端完成部分记录处理后,直接将计算结果从内存推到下游。例如,Map处理256MB输入数据,在内存流Shufle模式下,处理100条记录后,通过内存直接推到下游,形成流水线处理。不再有显式的Shufle阶段。目前,Shuffle组件是通用组件,正在逐步推广到其他分布式计算平台。百度分布式计算平台:在系统架构演变之前,我们重点介绍了百度开放云BMR服务中涉及的规模和性能优化思路和效果。接下来,让我们与您分享百度在整体架构中遇到的挑战和优化思路。在2012年的系统架构中,主要有两个离线计算平台,主要是Mapreduce模型BMR,主要是MPI/BSP模型BML。从下面可以看出,Mapreduce和MPI模型的底层*件差别很大。Hadoop分布式文件系统的多副本和强大的故障处理机制使Raid卡完全不必要。非常适合使用多个超大容量SATA*盘。MPI差别很大,MPI是一个消息传输框架,在设计之初就没有考虑过多的异常处理,所以对底层系统的可靠性要求很高。百度采用了非常高配置的服务器,如带Raid卡的Sas*盘、超大内存、万兆互联等。BMRHadoop由大量SATA*盘服务器组成,存储系统为HDFS,百度在资源调度层面有自主研发的ARK调度器(类似于社区Yarn)。在BML大规模机器学习平台上,支持的业务样本超过数百亿计量级,特征规模远超过100亿。在操作机器学习时,百度需要先启动Mapreduce,然后将数据从HDFS分发到每个MPI节点,这对网络带宽有很高的要求。虽然系统部门的同事不断改进内网带宽,但BML平台层面也在思考如何解决跨MR和MPI集群之间日益严重的网络带宽问题。另一个需求是:MPI是一个事务调度模型。例如,一个业务需要200台机器。如果此时平台只有199台机器是免费的,实际上很难使用(除非修改提交参数,但输入数据重新分块处理更为复杂)。此外,MPI计算通常分为计算、传输、计算等阶段(即BSP模型),因此资源利用波动较大,如CPU计算阶段、网络空闲、网络传输或全球同步阶段、CPU空闲。为了解决这个问题,百度将IDLE计算引入MPI集群,IDLE业务资源占用完全可控。Mapreduce等典型IDLE任务将进一步加剧MR集群和MPI集群之间的网络带宽问题。基于以上考虑,百度正式用高配置存储服务器替换MPI底层*件,*盘同构,文件系统采用HDFS,BML算法通过HDFS输入输出,不再是本地文件系统。BML机器学习执行发动机水平,百度基于MPI包装DVCE(DistributedVectorComputingEngine)分布式向量计算引擎屏蔽了MPI过低的编程接口,并通过高层抽象自动将其翻译成MPI任务。这是百度第二代专门为“并行计算”开发的系统框架。2014年,BML机器学习执行引擎迁移到ELF第三代并行计算框架。ELF采用Parameterserver架构,大大降低了机器学习算法的开发成本。与百度第二代框架DVCE相比,开发效率大大提高。在离线计算方面,NativeC已经完成 DAG引擎上线,百度内部叫DCE。(DistributedComputingEngine)。2014年,BMR和BML底层采用Matrix完成资源分配和隔离。基于业务需求的特殊性,其他平台,如小批量计算系统Taskmanager和毫秒计算延迟Dstream系统,采用独立的资源隔离和调度系统。2015年的架构改进主要是将所有计算模型迁移到Matrix Normandy架构。Normandy与社区Yarn调度接口兼容,开源社区新兴计算平台可以轻松访问百度的计算生态。百度已经介绍了百度大数据分析和挖掘平台的主要底层引擎和架构。接下来,让我们谈谈最新的想法。系统底层是IDC*件,然后是Matrix,然后是Normandy,然后是几个主要引擎。介绍了*件、调度、存储等底层结构的统一。事实上,每个系统的外部结果都有自己的界面。如果你想使用MR,许多人写MR程序是直接调用Hadoop本地界面,并配置多个参数。一些业务还需要流动系统来完成日志清洁,在Mapreduce模型批预处理后,然后通过ELF完成机器学习模型培训,最后通过Mapreduce模型完成模型评估,可以看出业务需要跨越多个模型,需要业务线学生熟悉许多模型和平台,每个模型都有自己的特点和接口。只有充分了解模型的细节和接口,才能真正充分利用模型。于是百度正式立项BigFlow项目(原项目名DataFlow,图片未来及修改),屏蔽了模型的细节。平台自动决定选择合适的并发度,甚至智能选择该翻译成哪个计算模型。BigFlow可以支持多个不同的计算引擎(每个引擎在其合适的领域达到极致),充分发挥每个引擎的性能和功能。因此,用户可以使用相同的接口对应不同的任务。由于采用高层抽象,业务开发效率大大提高,代码量大大降低,维护成本大大降低。BigFlow集成是一种常见的优化方法,因此平台的有效资源占用将大大提高。百度开放云-大数据 智能最后,简要介绍百度开放云。2014年,百度正式决定正式提供服务内部业务多年的云计算技术,即百度开放云,对应官方网站http://cloud.baidu.com。在百度开放云大数据方面,BMR已经对外开放,而更多的大数据分析和服务尚未对外开放。BMR集群可以按需部署,用户专属。更重要的是,Hadop/Spark平台与开源完全兼容,基于Hadoop开放云客户、Spark、Hbase等已实现的大数据业务几乎可以顺利迁移到云上,无需修改。Palo,多维分析服务,与MySQL网络协议完全兼容,因此,客户朋友熟悉的MysqlClient工具都可以使用。同时,Palo支持JDBC、如果现有程序使用JDBC的ODBC编程接口、ODBC,那么迁移成本几乎为零。最后,我们可以看到它与行业主流BI工具商业分析工具对接,如Tableau、Saiku、BIEE、R。最终介绍了机器学习云服务BML,BML中提供的深度学习技术,曾获得2014年百度最高奖项。BML提供端到端解决方案,其算法多年来一直为百度内部业务服务,如网页搜索、百度推广(凤凰巢、网络联盟CTR估计等)、百度地图、百度翻译等。使用开放云BMR和BML、Palo等,可立即、直接享受与百度搜索同等质量的大数据分析与挖掘服务!

内容来源:网络,以上内容来源于网络,不代表本站观点,如有侵权,请联系删除。

推荐阅读

泰国电视剧在哪个播放器可以看?看泰国电视剧可以选择下面几个播放器

很多人都比较喜欢看电视剧,尤其是泰国剧比较流行,而且泰国剧给人的感觉也是不一样的,所以说很多年轻人也都是特别喜欢看的。但是也有很多的APP不支持看泰国电视剧,因此选择一个好的播放器是很关键的。那么泰国电视剧在哪个播放器可以看? …查看详情

网红都用什么软件拍照?2021网红拍照软件前三推荐

短视频盛行的年代,“打卡经济”火了,随着互联网的高度普及以及如今人们对于互联网的依赖,人们的分享欲望也越来越强烈,一些网红小姐姐开始喜欢去一些网红地点进行拍照打卡,你有没有好奇这些网红都用什么app软件拍照呢?根据小万的调查,发现这些网红都…查看详情

想知道网站建设哪家专业?看这篇文章就够了

现代社会最大的变革就是互联网完全融入民众生活的日常,成为人们必不可少的工具之一。企业运营也是这样,大到上市公司小到私营店铺,都需要通过网站建设来打造自己的企业形象,增加隐藏收益。可是有很多人不知道该如何选择坐网站建设的企业,那么请看*整理的…查看详情

想要寻找到快速又高效的工作软件吗,可以考虑以下的思维导图软件

不管身份是什么,在平日的生活和学习当中,如果我们需要梳理某一些学习内容或者工作事项的话,是免不了需要思维导图软件的,那么都有哪些思维导图软件值得考虑呢?可以看以下的推荐。 1、GitMind软件 这款思维导图软件适用于各个…查看详情

新手如何安装php

如何运行PHP程序?要运行PHP程序,需要在计算机上安装PHP解释器,并且有一个可以运行PHP脚本的Web服务器或者命令行环境。下面是使用命令行环境运行PHP程序的步骤: 编写PHP代码并保存为.php文件。 打开命令行终端,并进入PH…查看详情

学java需要什么基础知识

java基础知识有哪些?java基础知识首先是J*Ase(控制语句,异常机制,面向对象,IO流,多线程等),数据库(MySQL,Oracle),MyBatis.JDBC.UML建模,前端(H5,CSS,JS,JQuery.VUE等),jav…查看详情

口碑最好的3款单机收银软件免费版

收银——我们最先接触到的是在一个商场里的一台机器来完成收银这项工作,由于科技的发达,我们已经开始进行手机收银,是不是有种很高大上的感觉,手机收银呢它有个很大的优势——小巧便捷,可以在任何时候来完成工作,既节省了顾客排队的时间又能解一些燃眉之…查看详情

有哪些网站运营推广和运营方式

随着互联网时代的不断发展,一些企业越来越重视网络的推广,其中最重要的是网站的推广和运营方式。网站是企业对用户最重要的表达方式,然后通过网站的各种表达方式吸引我们的用户群。那么你对网站定位、运营、推广和托管了解多少?让我们全面了解下网站推广和…查看详情

【注意】第26类商标注册不包括以下10类,选择类别勿出错

商标注册类别共45大类,若干个小类,小类中又包括上万个小项。一个商标注册类别不受限制,可注册10类,也可全类别注册。下文中主要整理了第26类商标注册内容。 图片来源于网络 第26类商标注册:花边,编带和剌绣品,缝纫用饰带和蝴蝶结;纽扣,领钩…查看详情

京东缺货的补救办法是什么?

京东没货可以买吗后面补货?一般不会有缺货的情况,京东作为一家大型电商平台,一般情况下是不会存在缺货的情况,因为京东在任何地方都会存在仓库,备有库存。库存量较少就会要求供货商下单采购,在货物到达前会显示预定状态。没有采购或采购状态不清楚的货品…查看详情

linux系统使用教程

linux英文版系统操作说明?首先打开ubuntu设置(右上角的齿轮),或者直接在左面找到设置 2、然后点【languagesupport】设置 3、在弹出的窗口再点击【i1tall】设置操作 4、完成设置后点击【i1ta…查看详情

外贸网站建设优化,保证网站正常运行,提升用户转化率

如今对内对外市场竞争都十分激烈,各行各业都开始搭建网站,想借助互联网的力量提升竞争力。对于无法直接联系外国用户资源的外贸行业来说,搭建外贸网站、外贸网站建设优化,可谓是实现产品转化、获取更多收益的有效手段。 图片来源于网络 那么外贸行业在对…查看详情

五款高使用率的五笔输入法推荐

现在社会人们打字的输入法逐渐从五笔输入法变成26键输入法和9键输入法,但仍有一部分小伙伴还是喜欢五笔输入,五笔输入也有很多优点比如:输入速度快,输入错误率小,生僻字不认识也可输入,重码少输入时节省了认字选词的时间。下面*就为大家…查看详情

float在c语言中的意思

C语言中的float是什么意思,有啥子作用?float是C语言的基本数据类型中的一种,表示单精度浮点数,C语言规定单精度浮点型在内存占用4个字节,精度为7位,取值范围为:3.4*10^-38~3.4*10^38或者-(3.4*10^-38~…查看详情

如何查看Windows10序列号

  在Windows10中,我们可以通过多种方式来查看电脑的配置和型号以及显卡信息。下面将会介绍几种常见的方法:  方法一:使用系统信息工具  系统信息工具是Windows10自带的一个系统信息查看工具,我们可以通过以下步骤来查看电脑的信息…查看详情

最新文章