【云驻共创】一文告诉你华为云上大数据处理与分析(详细)
前言
本章主要讲述华为云大数据解决方案,云上大数据处理与分析方法。介绍了华为云EI主流大数据服务,如MRS服务、DWS服务和CSS服务。由此引出两种常见的大数据解决方案,离线处理和实时流处理,并对它们的架构优势、实现原理、应用分析与案例场景进行讲解。最后对DAYU数据运营平台进行了介绍。
目标
- 描述主流华为云EI服务
- 区分离线处理和实时流处理的方案架构和应用场景
- 了解DAYU数据运营平台的功能
一、大数据技术发展趋势
现在的社会是一个高速发展的社会,科技发达、信息流通,人们之间的交流越来越密切,生活也越来越方便。大数据就是这个高科技时代的产物。大数据到底有多大?一组为互联网上一天的数据告诉我们,一天之中互联网产生的全部内容可以刻满1.68亿张DVD,发出的邮件有2940亿封之多,相当于美国两年的纸质信件数量。发出的社区帖子达两百万个,相当于时代杂志770年的文字量。卖出的手机为37.8万台,高于全球每天出生的婴儿数量37.1万。截止到2012年,数据量已经从TB级别越升到PB、EB乃至ZB级别。
国际数据公司IDC的研究结果表明,2008年全球产生的数据量为0.94ZB,2009年的数据量为0.8ZB,2010年增长为1.2ZB,2011年的数据量更是高达1.8ZB,相当于全球每人产生200GB以上的数据。而到2012年为止,人类生产的所有印刷材料的数据量是200PB,全人类历史上说过的所有话的数据量大约是五EB。IBM的研究称,整个人类文明所获得的全部数据中,有百分之九十是过去两年产生的。而到了2020年,全世界所产生的数据规模将达到今天的44倍。每一天全世界会上传超过五亿张图片,每分钟就有20小时时长的视频被分享。然而即使是人们每天创造的全部信息,包括语音通话、电子邮件和信息在内的各种通信,以及上传的全部图片、视频与音乐,其信息量也无法匹及每一天所创造出的关于人们自身的数字信息量。
现在全球大数据共有六个发展趋势,大数据战略化趋势显著,数据开放、共享成为核心重点项目带动、创新发展、应用驱动、数据价值挖掘、数据安全防护日益加强,大数据生态体系不断完善。
什么是大数据
那么到底什么是大数据呢?最早提出大数据时代到来的是全球知名咨询公司麦肯锡,麦肯锡城数据已经渗透到当今每一个行业和业务职能领域,成为重要的生产因素,人们对于海量数据的挖掘和运用预示着新一波生产率增长和消费者盈余浪潮的到来。大数据现在是一个很热门的词汇,因为随着信息化和智能化的发展,人们的一言一行可以更容易地通过电子设备形成一条条数据进行记录和收集。比较常见的是我们使用的手机、手环等终端设备,数据本身没有特别的作用,但是能从数据里面发现信息,总结规律,那么这些数据就非常有价值了。
举个简单的例子,我们常用的购物软件、新闻客户端会收集我们的浏览数据,然后对这些数据进行分析,下次就会将我们感兴趣的内容推送过来。我们可能会越来越喜欢这款产品,就像淘宝里的猜你喜欢。由于智能终端的普及越来越多的人可以使用到这些产品,这时候收集到的数据和种类也越来越多。传统的系统对这些庞大的数据力不从心,解决大数据问题的技术也就应运而生了。大数据的挑战也可以用4V来解释,数据量越来越大、数据种类越来越多、数据产生的速度越来越快、数据价值密度低。
那我们的数据拿过来就可以使用了吗?答案当然是不可以的,我们要经过如下八个步骤才可以将数据从收集到应用。数据在获取、预处理、存储、分析等各个环节都有相关的模型,最重要的是两个模型,数据组织模型和数据分析模型。正是因为传统的数据分析技术有一定的劣势,我们才会选择改变。
那么传统的数据分析技术有哪些缺点呢?首先就是受限的数据格式与操作。数据仓库是一对具备良好结构定义的数据,进行统计查询,针对半结构、非结构数据的操作支持不好。其次是容量与性能不足,基于share everything架构的数据仓库受限于共享存储系统的IO瓶颈、扩展性与吞吐量不足。接下来是成本高昂,成熟的商业数据仓库价格昂贵,type data单节点3TB数据150人民币。最后是挖掘分析效率低下,使用专业挖掘工具将数据从仓库中导出后分析,大数据场景下无法实施。
大数据平台架构发展趋势
我们的大数据平台架构发展分为三个阶段,首先是我们单一架构的传统数据仓库,它面临一些挑战:
一、计算与存储分离,IO成为瓶颈,缺乏线性扩展能力;
二、实时性不够;
三、数据处理的表达能力弱;
四、迭代计算模型无法支持复杂计算;
五、不支持非结构化数据存储。
接下来出现了分离架构,它的并行批量处理,Nosql解决了大和杂的问题。MPP数据仓库解决了大和快的问题,流处理引擎解决了快和杂的问题。最后融合架构诞生了,能够解决我们所遇到的挑战。它的特点是统一持久层。数据减少移动、统一管理,实现资源共享和管理自动化。同一数据可同时进行流处理、批处理以及查询多种计算模型。
华为云EI的发展历程
在了解了大数据平台架构的发展以后,我们来看看华为在EI方面,尤其是大数据领域的发展历程。在2002年的时候,华为就开始以传统BI技术为起点来进行大数据研究,2011年融入了AI能力,推出了电信大数据方案。二零一五年时拥有核心项目PMC,推出了企业大数据平台,至2017年推出了EI云服务。
在进入云计算时代之后,华为云在EI大数据领域全面发力,在各个层面上推出了众多的大数据服务。在统一存储层,华为有OBS、HDFS服务,在数据湖计算层,华为有MRS、DWS等服务,并且有待于数据运营平台。在使用以上华为云服务的基础上,大数据国内竞争力第一、架构开放,可以平滑迁移cloudera、AWS等友商大数据服务。数据仓库性能业界领先,数据库分析和BI场景可平滑搬迁,oracle、GP、TeraAata一站式敏捷大数据开发治理、数据中台、行业模板、算子,加快数据变现,云上大数据加鲲鹏,性价比提升百分之三十以上。
二、华为云大数据服务
大数据环境搭建痛点
大数据服务社会生产生活,产生的数据量越来越多、数据种类越来越多、数据产生的速度越来越快,传统的数据存储技术,比如说单机存储、关系数据库已经无法解决这些新的大数据问题,大数据上云已经成了必然选择。既然大数据技术上云,那当然是因为传统的大数据环境搭建有一定的痛点,比如说成本高,需要提前抢购设备,并且如果长时间不使用环境的话,设备将会被限制,不灵活。传统的设备不支持扩容与缩容,在业务量发生变化时不能进行改变,导致环境不够使用或者过于浪费,周期长。
Hadoop是大数据常常听说的一个词,它的系统安装和配置前需要进行配置环境变量准备linux系统需要很多繁杂的事情,导致耗费我们大量的时间难运维。在我们使用的过程中,机器总是会发生故障,那么运行维护也是一大需要解决的难点。那么怎样才能解决我们所说的这些困难呢?
华为云服务来帮忙,大数据计算服务、mapreduce服务,它有着即开即用,也就是说我们如果需要使用Hadoop,直接一键部署即可,灵活方便,计算和存储进行分离,便捷管理,管理控制台直接进行可视化的管理,使我们的管理不再艰难。弹性伸缩可以根据业务情况弹性伸缩所需的资源,这些特点完美的解决了传统大数据所面临的问题。
华为云MRS服务架构
MRS是一个在华为云上部署和管理Hadoop系统的服务,一键即可部署Hadoop集群,提供租户完全可控的企业级大数据集群云服务,轻松运行Hadoop、Spark、HBase、kafka等大数据组件。所以说MRS并不是单指mapreduce,MRS服务拥有强大的Hadoop内核团队,基于华为FusionInsight大数据企业级平台构筑,历经行业数万节点部署量的考验,提供多级用户SLA保障。
大家看一下上图MRS集群类型又分为三类,分析集群是用来做离线数据分析的,流式集群是用来做流处理任务,混合集群则既可以用来做离线数据分析,也可以用来做流处理任务。MRS在云上部署并托管了Apache Hadoop集群,为大数据处理分析场景提供高可靠性、高可用性的服务。
MRS使用Fusionlnsight Hadoop商业发行版。包含hdfs、MapReduce和YARN组件,这三个组件分别有不一样的功能。hdfs是Hadoop的分布式文件系统,实现大规模数据可靠的分布式读写。MapReduce是Hadoop的核心,是谷歌提出的一个软件架构,用于大于1TB的大规模数据集的并行运算,YARN可以实现一个Hadoop集群的集群共享,可伸缩性和可靠性,并消除早期MapReduce框架中的job Tracker性能瓶颈。接下来会对这三个组件分别进行介绍。
HDFS是将大型文件切分为相同大小的块,并放置若干份副本到存储节点,data node应对单一节点失效的场景。客户端读文件是到name node获取文件块的具体存储位置,而后直接从data node读取,使用并行的方式最大化存储吞吐量。
MapReduce来源于两个核心概念,map映射和reduce化解及他们的主要思想都是从函数式编程语言借来的,还有从矢量编程语言借来的特性。当前的软件实现是指一个map函数用来把一组建制队映射成一组新的建制队,指定并发的reduce函数,用来保证所有映射的建制队中的每一个共享相同的建组。
YARN是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度。在图中有两个客户端向YARN提交任务,蓝色表示一个任务流程,棕色表示另一个任务流程。首先client提交任务,resource manager接收到任务,然后启动并监控起来的第一个container,也就是app mstr,它会通知node manager管理资源并启动其他container任务最终是运行在container当中。
MRS应用场景
使用MRS这个服务自然是因为生活中会有场景要使用到。MapReduce适合做大规模数据集的离线批处理计算任务分而置之,子任务相对独立。MapReduce不适合做实时的交互式计算,要求快速响应低时延,要求快速响应低延迟,比如sql查询、流式计算、实时分析。
第一个场景就是海量数据分析。海量数据分析是现代大数据系统中的主要场景,通常企业会包含多种数据源,接入后需要对数据进行ETL处理,形成模型化数据,以便提供给各个业务模块进行分析梳理。这类业务通常有以下特点,对执行实时性要求不高,作业执行时间在数十分钟到小时级别,数据量巨大、数据来源和格式多种多样。例如在环保行业中,可以将天气数据存储在OBS中,定期转储到HDFS中进行批量分析。在一小时内,MRS可以完成10T的天气数据分析。该场景下MRS有以下优势:
低成本利用OBS实现低成本存储海量数据分析,利用Hive实现TB或PB级的数据分析。可视化的导入、导出工具,通过可视化导入、导出工具loader将数据导出到dws,完成BI分析。
第二个是海量数数据存储。用户拥有大量结构化数据后,通常需要提供基于索引的准实时查询能力,例如在车联网行业,某车企将数据储存在HBase中。以支持PB级别的数据存储和毫秒级的数据详单查询。该场景下MRS有以下优势:实时利用kafka实现海量汽车的消息实时接入,海量数据存储,利用HBase实现海量数据存储,并实现毫秒级数据查询、分布式数据查询,利用spark实现海量数据的分析查询。
第三个是低时延流式处理。实时数据处理通常用于异常检测、欺诈识别、基于规则告警、业务流程监控等场景,在数据输入系统的过程中对数据进行处理。例如在梯联网行业,智能电梯的数据实时传入到MRS的流式集群中进行实时报警。该场景下MRS有以下优势。实时数据采集,利用flow实现实时数据采集,并提供丰富的采集和存储连接方式。海量的数据源接入,利用kafka实现万级别的电梯数据的实时接入。理论案例已经分析过了,那么是否也有成功的现实案例呢?
某车企迁移线下大数据平台到云上,迁移的方案是历史归档所有数据,包括HFile和backup文件,通过DES移近一个月的HBest数据通过打快照,通过CDM服务走专线迁移,对于被HBas集群的汇总数据通过kafka转发到线上进行迁移,冷、热数据分阶段搬迁,服务零中断,这个整体云上迁移表现很好。线下系统,零业务代码改动,快速完成业务搬迁、业务数据在线迁移、业务不中断,七天内完成上百T数据迁移,并且拥有华为专业技术团队的运维保障能力。
DWS技术思想
一个大数据计算服务,大家是否已经对华为云大数据有了一定的了解呢?接下来学习另外一个大数据计算服务,DWS数据仓库服务,相信大家能够对大数据服务更加了解。数据仓库服务是一种基于公有云基础架构和平台的在线数据处理数据库,采用MPP。MPP即大规模并行处理。在数据库非共享集群中,每个节点都有独立的磁盘存储系统和内存系统,业务数据根据数据库模型和应用特点划分到各个节点上,每台数据节点通过专用网络或者商业网络互相连接,彼此协同计算。作为整体数据库服务,非共享数据库集群有完全的可伸缩性、高可用、高性能、优秀的性价比、资源共享等优势。MPP架构更适合OLAP系统的处理引擎。
DWS是一种基于公有云基础架构和平台的在线数据处理数据库,提供即开即用、可扩展且完全托管的分析型数据库服务,如下是它的架构,应用层应用只需做少量改动即可向DWS平滑迁移接口。一个DWS集群由多个在相同子网中的相同规格的节点组成,共同提供服务集群的每个DN。负责存储数据,其存储介质是磁盘。协调节点负责接收来自应用的访问请求,并向客户端返回执行结果。此外,协调节点还负责分解任务并调度任务分片,在各DN上并行执行,自动数据备份,支持将集群快照自动备份到对象存储服务obs中,方便利用业务空闲期对集群做周期备份,以保证集群异常后的数据恢复。快照是DWS集群在某一时间点的完整备份,记录了这一时刻指定集群的所有配置数据和业务数据。工具链提供了数据并行加载工具GDS、socket语法迁移工具、sql开发工具、data studio,并支持通过控制台对集群进行运维监控。
DWS产品优势
了解了一个服务后,不可避免的又要从优势中了解为什么要使用这个服务了。
首先是高可靠,采用了冗余的数据集,使得我们的系统不会出现单点故障,如果主节点故障,备节点会立刻升为主节点。
第二是高性能,我们依托于的是全并行的MPP架构数据库,真正实现了全并行的运算,使得每一个节点的计算资源都能得到高效的利用。行列混存和向量计算使得我们速度大大提高,并且数据的导入导出速度也会很快。
第三是易使用,提供一站式可视化管理,使我们的运维人员在页面上就可以了解集群的详情。我们可以将历史归档数据归档在obs中,用户如果想查询历史数据,可以直接在dws数据仓库里写sql语句进行查询,非常方便。
第四是易扩展,可以支持水平扩展,也可以支持竖向扩展,使我们的容量可以随着客户的需求逐渐改变,并且扩容的时候我们的业务是不中断的,客户可以在无感知的状态下实现扩容。
最后一项就是低成本、按需付费,可以按实际使用量和使用时长进行匹配。
又有什么现实案例呢?就是华为终端云冷热数据关联分析,十倍性能提升所面临的业务痛点是探索查询HDFS 10PB级历史数据,耗时平均约一个小时全量扫描,耗费资源。现有的系统对热数据和历史数据没有办法进行关联分析。那么我们DWS怎么样解决呢?DWS提供标准social能力,助力商业洞察、资源负载管理、及时业务性能保障。
云搜索服务CSS
接下来我们看一下大数据搜索与分析里的云搜索服务。云搜索服务css可以提供托管的分布式搜索引擎服务,完全兼容开源elasticsearch搜索引擎,支持结构化、非结构化文本的多条件检索、统计、报表。
云搜索服务具备以下功能:专业的集群管理平台,提供了丰富的功能菜单,通过浏览器即可安全、方便的进行集群管理和维护。完善的监控体系,通过管理控制台提供的仪表盘和集群列表,可以直观地看到已创建集群的各种不同状态。支持 ElasticSearch搜索引擎,该引擎是当前流行的企业级搜索服务器,具备分布式多用户的能力。云搜索主要的使用场景就是站内搜索,对网站内容进行关键字检索,对电商网站商品进行检索与推荐,站内资料或商品信息更新数秒至数分钟内即可被检索,检索同时可以将符合条件的商品进行分类统计,提供高亮能力页面,也可自定义高亮显示方式。
云搜索服务中搜索方案优化:
- 支持自定义词库,用户在词库中添加热搜词、关键词、网络常用词等来提高搜索输入的匹配精度。
- 支持自定义权重,用户可以根据业务定义不同查询条件的权重,来决定最终结果的排序。
- 支持越搜越准(规划),云搜索服务根据对搜索结果的点击行为,自动更新属性权重,达到最终结果排序更精准的效果。
三、华为云大数据解决方案
离线处理
离线处理通常是指对海量数据进行分析和处理,形成结果数据,供下一步数据应用使用。离线处理对处理时间要求不高,但是所处理数据量较大,占用计算、存储资源较多,通常通过spark作业或者sql作业实现。
那我们的数据是怎样处理的呢?首先要提取数据源,包括流式数据、批量文件数据、数据库等的数据源,之后进行数据采集,可以实时数据采集,也可以批量采集,到达离线批处理引擎来实现高性能的离线批处理作业运行。最后使用批处理结果的业务应用由ISV开发。但是实现离线处理也是有一定的核心诉求的,例如用户数据量最大超过五PB,大于1000节点,多种离线处理作业同时运行,需要不同的数据、权限和资源调度,避免越权访问和抢占资源。客户通常存在存量离线处理应用需要迁移到fusionInsight平台,支持多数据源、多种数据加载方式,用户数据热度不同,希望有分级存储策略,达到性能和成本的平衡等。
数据采集工具Flume
在数据采集的时候会使用到一个工具Flume,它是一个分布式、高可靠和高可用的海量数据聚合系统。支持在系统中定制各类数据提供方和数据发送方,用于收集各种类型数据,并支持数据进行简单处理,是一个使用简单方便的数据采集工具。支持加密传输和非加密传输,支持断点续传、支持数据缓存。我们的数据会先经过拦截过滤、修饰之后,进入到通道之后,sink会从通道中采集出来数据并进行分发,这就完成了数据采集的过程。
当然如果要做简单的数据转换和迁移,可以使用loader进行复杂的数据加工处理,需要加载到Hadoop内部后,使用离线处理作业处理。loader支持可视化数据集成,支持多种数据源,还有着高性能的特点。接下来,我们会对离线批处理引擎内的部分组件进行简单的介绍。离线批处理引擎内有个spark,spark是一站式解决方案及批处理、实时流处理、交互式查询、图计算与机器学习于一体。
Spark 体系架构
在这幅图中,Spark Core类似于MR的分布式内存计算框架最大,它的特点是将中间计算结果直接放在内存中,提升计算性能。spark SQL是一个用于处理结构化数据的spark组件,主要用于结构化数据处理和对数据执行类似sql查询。structured streaming 处理的流处理引擎,将流数据分片以后,用spark code计算引擎中进行处理,但spark和mapreduce都是Hadoop中最基础的分布式计算框架。它们两个有什么区别呢?
区别就在于spark主要依赖内存迭代,mapreduce则依赖hdfs存储中间结果数据。spark的中间数据放到内存中效率更高,通过弹性分布式数据集实现内存中计算,避免磁盘操作。spark比hadoop更通用、编程模型更灵活。而且与hadoop不同,spark使用Scala编程语言,语言简洁且表达力强。
在海量批处理引擎中还有一个重要的组件Hive,Hive引擎把客户提交的sql类作业转译成mr作业,在y的资源调度下访问hdfs数据对外呈现就像是一个sql数据库。hive兼容基本的sql,支持多种sql求访问接口,支持节点线性扩展,支持数据压缩和数据加密,并且统一原数据和数据权限,可以与spark SQL共享元数据,使用相同的数据权限。
hive基于hadoop的hdfs和mapreduce框架,初步实现了针对海量数据上进行类sql语言查询的功能。但是由于mapreduce框架本身的局限性,性能上具有很大的提升空间。
Hive与传统数据仓库对比
hive和传统数据仓库相比较,在存储灵活性、分析速度等方面有着大幅度的提升,但是在索引这方面还是没有传统数据仓库那么成熟。
我们再看一下spark SQL,spark SQL引擎把客户提交的sql类作业转译成spark作业。在YARN资源调度下访问hdfs数据对外呈现,就像是一个sql数据库,可以针对复杂贡献社区,可以大幅提升性能,SQL优化性能,CBO是华为主导,支持多个sql访问接口,统一原数据和数据权限,可以与hive共享元数据、继承数据权限,并且支持节点线性扩展,最大支持5000节点10PB及以上数据。
spark sql和Hive在数据格式、数据访问方式等还保持一致,但是数据更新方式spark sql在ORC格式下支持增、删、改、查、建议批量操作,而spark SQL依赖其他组件,比hive多个spark。想仔细了解两者区别的,可以看一下上图表。
第一,多租户-可视化的多级租户管理与企业组织结构相匹配,简化系统资源分配与管理,并且可以对租户资源使用情况进行实时监控。
二、异构设备支持大内存和标配内存服务器混搭集群,通过设置不同的计算资源、标签、YARN资源调度器,保证spark作业运行在大内存的节点上,mr作业运行在标配内存的节点上,还有SAS盘和SATA盘服务器混搭集群可以设置不同的存储资源标签。
三、资源灵活配置,组件之间资源调度,保证组件间资源不争抢,支持按照百分比为各个组。设置资源配额,支持资源按照时间自动调整,不同的时间段设置不同的资源配置策略,为各种业务按照时段分配资源,实现资源错峰共享,使得我们资源利用率最大化。
四、多租户资源调度配置原则,使易购资源使用硬隔离,按照标签调度资源,不同规格、硬件使用不同标签、不同组件之间按照静态资源池隔离资源,防止组件间抢占资源。
五、分级存储。在客户的价值体现在在易购资源池的融合,大数据平台支持灵活的存储策略,实现最优的性能和成本,提供gui维护、管理数据资产,易管理、易运维。
成功案例
那么成功的案例有z银行离线分析平台业务的特点是离线分析集群属于公有集群,搭建在上海数据中心、深圳数据通过交换平台及data state进行数据导入,向上已对接十八个应用,主要依靠Hive、spark、mr等进行离线分析以及机器学习,业务的负载需求为同时有加载作业和批量作业在运行,加载及批量作业必须在时间窗口内完成。
第二个成功案例,G移动O域数据解析场景,该场景提供偶遇和网络数据的解析、存储、查询,需要能够及时完成每天的数据解析汇总,每日数据解析汇总时限为五个小时。
第三个案例是G移动融合计费清单场景,它需要提供融合计费清单的存储、查询及分析,对我们的性能要求是日汇总两个小时,月汇总二十四个小时。
实时流处理
随着时代的发展,数据会越来越多,而数据的改变也是实时的,可能前一秒的数据和现在都不一样,对于大数据来说,数据越实时越有价值。
流计算是针对流式数据的实时计算,实时我们从字面意思就能了解,那流式数据是什么呢?是指将数据看作数据流的形式来处理。数据流是在时间分布和数量上无限的一系列动态数据集合体;数据记录是数据流的最小组成单元。流式计算有着计算任务一直运行,结果持续产生秒、毫秒级。必须是可编程的框架,以适应各种业务需求,不能是写死的逻辑。处理大数据的基本要求,如每秒处理几十万条数据等优势。实时流处理通常是指对实时数据源进行快速分析、迅速触发下一步动作的场景。
实时流处理方案架构
实时数据对分析、处理速度要求极高,数据处理规模巨大,对cpu和内存要求很高,但是通常数据不落地,对存储量要求不高。实时处理通常通过spark streaming或者Flink任务实现。
但是实现实时流处理也是有一定的核心诉求的,比如端到端处理需达到秒级流处理平台负责的数据采集和数据处理要在一秒内完成,需在短时内接收并处理大量数据记录,吞吐量需要达到数十兆每秒每节点。为应对数据源端业务数据产生速度会突然出现峰值的情形,需提供数据缓存机制等。
- 可靠性高:网络、软件等故障发生时,需保证每条数据不丢失,数据处理不遗漏、不重复。
- 水平扩展:当系统处理能力出现瓶颈后,可通过节点的水平扩展提升处理性能。
- 多数据源支持:支持网络流、文件、数据库表、IOT等格式的数据源。对于文件数据源,可以处理增量数据的加载。
- 数据权限和资源隔离:消息处理、流处理需要有数据权限控制,不同的作业、用户可以访问、处理不同的消息和数据。多种流处理应用之间要进行资源控制和隔离,防止发生资源争抢。
- 第三方工具对接:支持与第三方规则引擎、决策系统、实时推荐系统等对接。
新一代流处理引擎Flink
在实时流处理方案架构里面,分布式流计算引擎有两个,接下来会对这两个进行介绍。
首先是Flink,Flink流数据处理引擎是新一代流处理系统,具有高吞吐、低时延、高可靠等特性,它的性能可以达到毫秒水平,同时支持多租户资源隔离,更适合企业流处理场景。它的高性能体现在专门针对流处理设计,支持毫秒级时延,高可靠体现在支持异步快照机制,将用户作业状态进行备份,支持用户作业有状态的恢复。
第二个是spark streaming,它是spark核心api的一个扩展,其接收实时的输入数据流,然后将这些数据切分为批数据,提供spark引擎处理,spark引擎将数据处理成最终的结果数据使用离散流,从kafka和hdfs等源获取连续的数据流,离散流由一系列连续的弹性分布式数据集组成,每个弹性分布式数据集包含确定时间间隔的批数据,任何对离散流的操作都转换成对弹性分布式数据集的操作。
使用DStream ( Discretized Stream,离散流)从Kafka和HDFS等源获取连续的数据流,DStreams由一系列连续的RDD(Resilient Distributed Datasets,弹性分布式数据集)组成,每个RDD包含确定时间间隔的批数据,任何对DStreams的操作都转换成对RDD的操作。
流处理引擎比较
Flink和spark stream在事件处理方式、时延、容错机制和编程接口有着不同,但是什么时候使用不同的流处理引擎呢?
推荐原则就是优先推荐Flink,实时性要求不高的场景可以推荐spark streaming。
消息中间件可对实时数据进行缓存,支持高吞吐量的消息订阅和发布。在消息中间件内有一个kafka,kafka是一个高吞吐分布式、基于发布、订阅的消息系统,利用kafka技术,可在X86 pc server上搭建起大规模消息系统,用作实时流处理中的消息缓存,最常见的用途是用来作为实时数据源的缓存,上图涉及到kafka的一些基本概念。block是缓存代理kafka集群包含的一个或多个服务实例block,一个block对应一台服务器。producer消息和数据生产者,用来向kafka的一个topic发布消息的客户端,consumer消息和数据消费者用来订阅topic并处理其发布的消息的客户端。
数据缓存我们使用的是高速缓存内存库redis。redis是一个高性能的key-value内存数据库,适合于作为系统中的cache或者消息队列,它有着性能高、丰富的数据类型支持,支持主从复制同步等特性,典型案例是风控平台案例。
该项目需要风控报警时效性要求较高,需实时报警,系统处理能力可扩展,需平稳度过双十一等交易量爆发增长的时段。解决方案则是根据风控规则抽象实时变量、批次变量、扩展变量和规则逻辑。实时变量通过CQL动定义生成拓扑在流处理系统中实时计算。典型例子,本次交易金额、商户、MCC码、批次变量通过hive离线跑批计算并存入HBase系统,采用双系统保障可靠性,采用最快的结果作为有效输出,双系统各自使用单独的硬件。
四、数据湖治理中心(DGC)
DAYU数据运营平台
企业发展到一定阶段,出现多个事业部,每个事业部都有各自数据,事业部之间的数据往往都各自存储、各自定义,每个事业部的数据就像一个个孤岛一样,无法或者极其困难和企业内部的其他数据进行连接互动。我们把这样的情况称为数据孤岛,简单说就是数据间缺乏关联性、数据库彼此无法兼容,这就会造成资源分散、数据不通、应用孤立的现象,从而导致需求落地慢、业务监管难、用户体验差,严重制约了企业数字化发展。
那么我们需要达到一个什么样的能力才能解决数字孤岛这个现象呢?
首先我们要有可搜索的数据目录,能够很快地找到我们所需要的数据;
其次,我们要能管得住数据,并且敢去使用数据,能够让数据使用可控可追溯。
最后,我们让这些重要的数据能够应用到我们的企业当中去才是最重要的。
那么有没有一个平台能够达到这样的能力,从而解决数字孤岛现象呢?华为云DAYU平台就能够达到这样的能力。
DAYU平台,面向企业数字化运营诉求,提供一站式智能数据管理能力,帮助企业快速构建从数据接入到数据分析的端到端智能数据系统,消除数据孤岛,统一数据标准,加快数据变现,实现数字化转型。
DAYU平台就是提供给数据运营人员、业务运营人员的一站式、端到端的数据运营与数据治理、平台与方案,帮忙企业快速。构建数据运营能力,产出清洁透明、智慧的数据,同时让数据可以随需获取、敏捷自助,让数据最大化地发挥它的价值,推动企业业务创新与变革以及人工智能的发展。
这个名字听起来很像是三过家门而不入的大禹,的确命名含义就像是大禹治水一样,帮助企业进行数据治理与运营,最终让数据变为企业创新的新能源,让业务豁然开朗。
在上图中我们可以看出来,大宇平台只需要一个管理中心就可以实现数据集成、规范设计、数据开发等功能,可以实现数据的可视化、自动化、智能化。无论是开发、治理、服务还是资产,我们都可以进行敏捷的开发和治理。拖拽式开发,端到端数据链路编排和监控、业务指标监控,实时了解业务指标、数据质量、配置质量检查规则、在线监控、数据准确性、数据可视化、敏捷配置数据可视化大屏。
DAYU不仅可以从用户的角度来进行数据的开发和治理,还可以从数据的视角进行一站式的开发和治理,可以基于业务建模、快速检索、定位数据,可以一站式作业、调度、监控、在线数据质量检查,还可以消除数据冗余、避免数据重复。
说了这么多,那么到底什么地方才可以用到DAYU呢?
首先第一个场景就是数据治理。现在企业面临的痛点是各业务部门数据标准不统一、数据来龙去脉不清楚、质量得不到控制,数据开发找不到需要的数据,导致过多冗余。需要有一个平台能够制定统一的标准,控制数据质量,保证一致性、完整性、有效性、快速定位数据,避免冗余存储,DAYU可以对多种大数据进行标准的管理,满足多种数仓的需求,并且如果我们人数没有那么多怎么办呢?也可以借助人工智能、机器学习进行智能辅助治理。
第二个场景就是数据分析所面临的痛点是数据准备耗费大量人力投入计算、存储、资源不易扩展,无法应对数据量变化,需要达到异构数据快速集成、快速构建数据流程、支持高性能数据计算、资源弹性伸缩,快速应对数据和业务变化。DAYU支持百万级别的任务调度,并且五分钟就能分析,半小时内完成计算,极大地提升了我们的效率和速度。
现实生活中,我们也可以对我们的交通数据进行分析,比如说哪些摄像头捕捉到了有人违反交通规则,或者哪个地方的红绿灯时间应该长一些或者短一些,最后通过分析的数据进行应用。
其次是诊断平台指标开发流程,基于交通行业pipeline酱、行业算子主题模型,快速构建指标计算流程,对电警数据、浮动车数据以及路段信息进行分析。
总结:
随着数字划时代的到来,社会生产生活产生大量的数据,数据量越来越大,种类越来越多。企业迫切对大量数据的背后价值进行挖掘,华为云大数据服务帮助企业构筑从数据接入,存储、计算和分析的全生命周期大数据解决方案,帮助企业客户进一步挖掘数据价值,快速完成数字化转型,激发制造企业的创新活力、发展潜力和转型动力。华为云为企业提供大数据处理、分级挖掘的平台,帮助企业快速发觉数据价值,同时华为云具备免维护、免部署、低成本、低门槛、弹性敏捷等特点。
注:本文整理自华为云社区【内容共创系列】活动,
查看活动详情:https://bbs.huaweicloud.com/blogs/314887
相关任务详情:华为云上大数据处理与分析
- 点赞
- 收藏
- 关注作者
评论(0)