华为云上大数据处理与分析(下)
前言
本章主要讲述华为云大数据解决方案,云上大数据处理与分析方法。介绍了华为云EI主流大数据服务,如MRS服务、DWS服务和CSS服务。由此引出两种常见的大数据解决方案,离线处理和实时流处理,并对它们的架构优势、实现原理、应用分析与案例场景进行讲解。最后对DAYU数据运营平台进行了介绍。
目标
学完本课程后,您将能够:
- 描述主流华为云EI服务
- 区分离线处理和实时流处理的方案架构和应用场景
- 了解DAYU数据运营平台的功能
目录
1.大数据技术发展趋势
2.华为云大数据服务
3.华为云大数据解决方案
4. DAYU数据运营平台
三、华为云大数据解决方案
离线处理
离线处理通常是指对海量数据进行分析和处理,形成结果数据,供下一步数据应用使用。离线处理对处理时间要求不高,但是所处理数据量较大,占用计算、存储资源较多,通常通过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酱、行业算子主题模型,快速构建指标计算流程,对电警数据、浮动车数据以及路段信息进行分析。
总结:
随着数字划时代的到来,社会生产生活产生大量的数据,数据量越来越大,种类越来越多、企业迫切对大量数据的背后价值进行挖掘、华为云大数据服务帮助企业构筑从数据接入、存储、计算和分析的全生命周期大数据解决方案,帮助企业客户进一步挖掘数据价值,快速完成数字化转型,激发制造企业的创新活力、发展潜力和转型动力。华为云为企业提供大数据处理、分级挖掘的平台,帮助企业快速发觉数据价值,同时华为云具备免维护、免部署、低成本、低门槛、弹性敏捷等特点。
- 点赞
- 收藏
- 关注作者
评论(0)