大数据技术概述
发布时间:2022-11-01 11:10:42 所属栏目:大数据 来源:
导读: 第二章 大数据技术概述
2.1 大数据技术的产生
2.2 大数据的4V特征
2.3 大数据的主要应用
2.4 大数据的关键技术
2.5 典型的大数据计算架构
2.1 大数据技术的产生
2.1 大数据技术的产生
2.2 大数据的4V特征
2.3 大数据的主要应用
2.4 大数据的关键技术
2.5 典型的大数据计算架构
2.1 大数据技术的产生
|
第二章 大数据技术概述 2.1 大数据技术的产生 2.2 大数据的4V特征 2.3 大数据的主要应用 2.4 大数据的关键技术 2.5 典型的大数据计算架构 2.1 大数据技术的产生 2005年Hadoop项目诞生。 Hadoop其最初只是雅虎公司用来解决网页搜索问题的一个项目,后来因其技术的高效性,被Apache Software Foundation公司引入并成为开源应用。 Hadoop本身不是一个产品,而是由多个软件产品组成的一个生态系统,这些软件产品共同实现全面功能和灵活的大数据分析。从技术上看,Hadoop由两项关键服务构成:采用Hadoop分布式文件系统(HDFS)的可靠数据存储服务,以及利用一种叫做MapReduce技术的高性能并行数据处理服务。这两项服务的共同目标是,提供一个使对结构化和复杂数据的快速、可靠分析变为现实的基础。 2.1.1大数据的基本概念 大数据(big data),或称巨量资料,指的是所涉及的资料量规模巨大到无法透过目前主流软件工具,在合理时间内达到撷取、管理、处理、并整理成为帮助企业经营决策更积极目的的资讯。大数据的4V特点:Volume、Velocity、Variety、Veracity。 大数据技术的产生首先源于互联网企业对于日益增长的网络数据分析的需求。 2.大数据的可用性及衍生价值 进入IT时代以来,全人类积累了海量的数据,这些数据仍在不断急速增加,这带来两个方面的巨变:一方面,在过去没有海量的数据积累的时代无法实现的应用现在终于实现。 2.1.2大数据产生的原因 1.大数据的产生 大数据技术的产生首先源于互联网企业对于日益增长的网络数据分析的需求,20世纪80年代的典型代表市Yahoo的“分类目录”搜索数据库;20世纪90年代的典型代表市Google,它开始运用算数分析用户的实际需求,而且创造新的需求。因为此时Web2.0的出现使人们从信息的被动接收者变成了主动创造者。 基于上述状况2006年,广大个人用户的数据量迈进了“TB”时代。 2.大数据的可用性及衍生价值 (1)数据的可用性 用以分析的数据越全面,分析的结果就越接近于真实,就更具可用性。数据可用性主要包含高质量数据获取与整合的方法,大数据可用性理论体系的建立,弱可用数据的近似计算与数据挖掘,数据一致性的描述问题,一致性错误的自动检测问题,实体完整性的自动修复问题,自动检测实体同一性错误的问题,半结构化、非结构化数据的实体识别问题等方面。 (2)数据的复杂性 目前,85%的数据属于社交网络、物联网、电子商务等产生的非结构化和半结构化数据。非结构化数据是数据结构不规则或不完整、没有预定义的数据模型、不方便用二维逻辑数据库来表现的数据。包括所有格式的办公文档、文本、图片、图像和音频/视频信息等。半结构化数据是介于完全结构化数据和完全无结构的数据之间的数据,XML、HTML文档属于半结构化数据,它是自描述的,数据的结构和内容混在一起,没有明显的区分。 2.1.3大数据概念的提出 由于海量非结构化、半结构化数据的出现,数据已没有办法在可容忍的时间内,使用常规软件方法完成存储、管理和处理任务。2008年《Nature》杂志推出了“大数据”专辑,引发了学术界和产业界的关注。数据成为科学研究的对象和工具,业界开始基于数据来思考、设计和实施科学研究。数据不再仅仅是科学研究的结果,而且变成科学研究的基础。? 2.1.4第四范式——大数据对科学研究产生的影响 2007年,已故的图灵奖得主吉姆格雷提出了数据密集型科研“第四范式”。他将大数据科研从第三范式,即计算机模拟中分离出来,独立作为一种科研范式,单独分离出来的原因是大数据的研究方式不同于基于数学模型的传统研究方式。科学研究的四个范式如图: 2.1.5大数据与云计算的关系 云计算与大数据是一对相辅相成的概念,它们描述了面向数据时代信息技术的两个方面,云计算侧重于提供资源和应用的网络化交付方法,大数据侧重于应对巨大的数据量所带来的技术挑战。 云计算的核心式业务模式,其本质是数据处理技术。数据是资产,云计算为数据资产提供了存储、访问的场所和计算能力,即云计算更偏重大数据的存储和计算,以及提供云计算服务,运行云应用。但是云计算缺乏盘活数据资产的能力,从数据中挖掘截至核对数据预测性分析,为国家治理、企业决策乃至个人生活提供服务,这是大数据的核心作用。云计算是基础设施架构,大数据是思想方法,大数据技术讲帮助人们从大体量、高度复杂的数据中分析、挖掘信息,从而发现价值和预测趋势。 2.2大数据的4V特征 1.大量。大数据的特征首先就体现为“大”,从先Map3时代,一个小小的MB级别的Map3就可以满足很多人的需求,然而随着时间的推移,存储单位从过去的GB到TB,乃至现在的PB、EB级别。随着信息技术的高速发展,数据开始爆发性增长。社交网络(微博、推特、脸书)、移动网络、各种智能工具,服务工具等,都成为数据的来源。淘宝网近4亿的会员每天产生的商品交易数据约20TB;脸书约10亿的用户每天产生的日志数据超过300TB。迫切需要智能的算法、强大的数据处理平台和新的数据处理技术,来统计、分析、预测和实时处理如此大规模的数据。 2.多样。广泛的数据来源,决定了大数据形式的多样性。任何形式的数据都可以产生作用,目前应用最广泛的就是推荐系统,如淘宝,网易云音乐、今日头条等,这些平台都会通过对用户的日志数据进行分析,从而进一步推荐用户喜欢的东西。日志数据是结构化明显的数据,还有一些数据结构化不明显,例如图片、音频、视频等,这些数据因果关系弱,就需要人工对其进行标注。 3.高速。大数据的产生非常迅速,主要通过互联网传输。生活中每个人都离不开互联网,也就是说每天个人每天都在向大数据提供大量的资料。并且这些数据是需要及时处理的,因为花费大量资本去存储作用较小的历史数据是非常不划算的,对于一个平台而言,也许保存的数据只有过去几天或者一个月之内,再远的数据就要及时清理,不然代价太大。基于这种情况,大数据对处理速度有非常严格的要求,服务器中大量的资源都用于处理和计算数据,很多平台都需要做到实时分析。数据无时无刻不在产生,谁的速度更快,谁就有优势。 4.价值。这也是大数据的核心特征。现实世界所产生的数据中,有价值的数据所占比例很小。相比于传统的小数据,大数据最大的价值在于通过从大量不相关的各种类型的数据中,挖掘出对未来趋势与模式预测分析有价值的数据,并通过机器学习方法、人工智能方法或数据挖掘方法深度分析,发现新规律和新知识,并运用于农业、金融、医疗等各个领域,从而最终达到改善社会治理、提高生产效率、推进科学研究的效果。 2.3大数据的主要应用及行业推动力量 (1) 大数据的主要应用 一、购物营销当我们打开淘宝,京东等购物APP时,总是会发现,这些APP比我们自己还懂自己,能够未卜先知的知道我们最近需要什么。篮球迷在湖人赢了比赛的时候打开淘宝,会发现詹姆斯的球衣就在首页;一个怀孕的妈妈,打开京东,发现进口的奶粉已经在召唤她购买;一个经常听神曲的大妈,广场舞音响的推荐总在眼前。这就是商家通过手机浏览的数据分析,知道我们近期的需求,之后精准的向我们进行推销。如今人们网络购物的行为越来越频繁,网络购物的体验也越来越好。而影响网络购物体验的一个最重要的方面就是物流的速度。双11十多年前就火爆中国,但人们记忆犹新的就是双11买的物品很长时间才能拿到,少则一周,多则半个月,严重影响购物者的体验。而如今双十一的成交量增加了上百倍,但送货的速度却提升了不少。很多物品能保证晚上下单,第二天就送达,即使购买的是新疆的葡萄干,也能在24小时到货。速度提升的背后大数据概述,离不开大数据的赋能。物流仓储与购物平台合作,通过分析用户的浏览数据,购物车,下定金情况,预知某一地区的购买量,进行提前备货。当用户付款之后,货物是从离用户100公里内的仓储中心发货,而不是千里之外的新疆发货。通过大数据中心的调控,物流分拣系统能最科学合理的进行装车。 在智慧系统的指引下,快递员也能按照最优的线路进行高效的配送。二、交通出行如今百度地图、高德地图已经成了我们出行必不可少的工具。没了地图,很多时候我们将寸步难行。有了地图,即使在九曲回肠的复杂道路中,也可以顺利的抵达我们想去的一个网红美食店。手机地图能够做到精准的导航和实时的路况预测得益于大数据的分析。一是地图公司有自己数据采集车,前期采集了海量的数据存储在数据库中。二是每一个使用地图的用户,都共享了自己的位置,贡献了自己的数据。通过对同一时间段同一路段用户的使用情况进行分享,地图很容易就能得知哪里堵车,哪里畅通,提前告知使用者。三、政务处理大数据在助力政府的政务处理方面同样发挥着重要的作用。近年来精准扶贫是各级政府的首要工程,扶贫如何做到精准,考验着政府的执政能力。精准扶贫首先要做到的就是精准,贫困户是不是真正的贫困户,这在过往是一件很难解决的难题。上级政府只有依靠下级政府的统计上报进行拨款,于是关系户成了贫困户,真正贫困的人缺难以得到实质性的帮助。现如今有了大数据的加持,政府通过建档立卡,通过网络数据分析,对每一个贫困户进行核实。家里老人的就医记录,子女的工资水平,养殖等副业的收入等等都将进行评估,以确保精准扶贫落实到位。 电信诈骗无孔不入,但当电信诈骗遇上大数据,诈骗份子也将插翅难逃。如今利用大数据分析,诈骗短信,诈骗网站很容易被识别拦截。通过分析诈骗份子的“伪基站”地址,登录网址等信息也能很快锁定诈骗份子的藏身之处。四、信用体系俗话说民无信不立,国无信不强。可见信用对于个人,对于国家都有非常重要的意义。但如何识别一个人是否有信用,却不是一件容易的事。在熟人社会里,我们可以通过一个人过往的表现,言行来判断他的信用。但在陌生人社会里,想要判定一个人是否有信用就很难了。这也影响了整个社会的运行,例如信用系统不完善,个人去银行贷款很难,网络购物也难以发展。但如今有了大数据,这些难题都迎刃而解了。例如支付宝的芝麻积分,就是通过分析用户的学历、存款、购物行为、交友特征、履约历史等等数据来赋予用户对应的分数,表示用户的信用等级,同时将特定的特权开放给对应等级的用户。现在支付宝、微信等信用数据都已并入央行主导的国民信用体系里,成为国家队。中国也正式建立了自己的信用体系,真正实现了有信用走遍天下都不怕,无信用则寸步难行。20世纪最重要的资源是石油,谁掌握了石油,谁就统治了世界。21世纪最重要的资产则是数据,谁能在数据这座金矿中挖出黄金,谁就能掌握话语权,造福社会,创造财富。 (2 )企业推动大数据行业发展 大数据利用其独特的大数据分析能力,帮助工业企业变得更有效率并提高生产率。公司可以获得大量数据,帮助制造企业减少浪费并提高生产流程的产量。通过高级分析,工业组织可以将信息可视化,识别模式并对其进行优化,以提高生产质量。大数据可以通过以下方式由制造商使用:实时监控 制造过程可以在生产过程的各个部分提供可用于优化生产质量的实时信息。预测 大数据分析可用于预测需求和生产,帮助企业提高绩效。更好的决策 通过大数据揭示的洞察力可以帮助制造商通过确定趋势并应对挑战来做出更好的决策。预防性维护 通过系统分析,制造公司可以更准确地预测系统故障,并采用预防性维护。这可以大大减少损失和昂贵维修工作的开支。质量保证 可以使用数据来检测制造过程中的错误并检测过程缺陷。分析可以提供实时警告信号,提供质量保证。定价策略 通过内部和外部来源的数据,可以开发可以增加利润的定价模型。还可以以不同的价格对产品进行需求预测。然后使用这些见解来生成准确的定价策略。 通过整合数据和应用先进的分析技术提高生产力,制造商可以提高效率,提高产品质量。在新兴市场,制造商可以通过抓住市场份额,提高利润率,开始建立竞争优势。在发达市场,化学公司可以使用大数据来降低成本,并在产品和服务方面提供更大的创新。 2.4大数据的关键技术 我们之前了解了大数据现在已经达到什么地步,以及它现在主要做了哪些事情,也稍微了解一下,现在大多数的大数据公司都是怎么做的,接下来了解大数据的四个关键技术。数据采集、预处理与存储技术。数据采集,与之相关的有数据采集师这个岗位,大多数情况下是用python语言来做的。预处理我们管它叫ETL,就是信息提取,会把一些噪音去掉,然后提取一些关键信息。大多数也都是基于python+spark技术来做。存储就是HDFS技术。数据分析以及数据挖掘。这部分主要是基于sparkSQL,以及一些算法方面相关的技术。spark推荐Python或者Scala数据安全和隐私保护。这块涉及比较少,主要是基于Cobol来做的。数据的中心体系机构,下图很好的做了解释,最底下是源数据,主要通过日志、探针等方式来采取一些结构化、非结构化的数据。往上一层把数据进行提取、整合,之后加一些算法和规则,算出来特征属性,之后做清洗,然后把数据存起来。最后就是一些计算和挖掘出的一些现成的数据做数据可视化。 2.5典型的大数据计算架构 数据分析工作虽然隐藏在业务系统背后,但是具有非常重要的作用,数据分析的结果对决策、业务发展有着举足轻重的作用。随着大数据技术的发展,数据挖掘、数据探索等专有名词曝光度越来越高,但是在类似于Hadoop系列的大数据分析系统大行其道之前,数据分析工作已经经历了长足的发展,尤其是以BI系统为主的数据分析,已经有了非常成熟和稳定的技术方案和生态系统,对于BI系统来说,大概的架构图如下:可以看到在BI系统里面,核心的模块是Cube,Cube是一个更高层的业务模型抽象,在Cube之上可以进行多种操作,例如上钻、下钻、切片等操作。大部分BI系统都基于关系型数据库,关系型数据库使用SQL语句进行操作,但是SQL在多维操作和分析的表示能力上相对较弱,所以Cube有自己独有的查询语言MDX,MDX表达式具有更强的多维表现能力,所以以Cube为核心的分析系统基本占据着数据统计分析的半壁江山,大多数的数据库服务厂商直接提供了BI套装软件服务,轻易便可搭建出一套Olap分析系统。不过BI的问题也随着时间的推移逐渐显露出来:BI系统更多的以分析业务数据产生的密度高、价值高的结构化数据为主,对于非结构化和半结构化数据的处理非常乏力,例如图片,文本,音频的存储,分析。 由于数据仓库为结构化存储,在数据从其他系统进入数据仓库这个东西,我们通常叫做ETL过程,ETL动作和业务进行了强绑定,通常需要一个专门的ETL团队去和业务做衔接,决定如何进行数据的清洗和转换。随着异构数据源的增加,例如如果存在视频,文本,图片等数据源,要解析数据内容进入数据仓库,则需要非常复杂等ETL程序,从而导致ETL变得过于庞大和臃肿。当数据量过大的时候,性能会成为瓶颈,在TB/PB级别的数据量上表现出明显的吃力。数据库的范式等约束规则,着力于解决数据冗余的问题,是为了保障数据的一致性,但是对于数据仓库来说,我们并不需要对数据做修改和一致性的保障,原则上来说数据仓库的原始数据都是只读的,所以这些约束反而会成为影响性能的因素。ETL动作对数据的预先假设和处理,导致机器学习部分获取到的数据为假设后的数据,因此效果不理想。例如如果需要使用数据仓库进行异常数据的挖掘,则在数据入库经过ETL的时候就需要明确定义需要提取的特征数据,否则无法结构化入库,然而大多数情况是需要基于异构数据才能提取出特征。在一系列的问题下,以Hadoop体系为首的大数据分析平台逐渐表现出优异性,围绕Hadoop体系的生态圈也不断的变大,对于Hadoop系统来说,从根本上解决了传统数据仓库的瓶颈的问题,但是也带来一系列的问题:从数据仓库升级到大数据架构,是不具备平滑演进的,基本等于推翻重做。 大数据下的分布式存储强调数据的只读性质,所以类似于Hive,HDFS这些存储方式都不支持update,HDFS的write操作也不支持并行,这些特性导致其具有一定的局限性。基于大数据架构的数据分析平台侧重于从以下几个维度去解决传统数据仓库做数据分析面临的瓶颈:分布式计算:分布式计算的思路是让多个节点并行计算,并且强调数据本地性,尽可能的减少数据的传输,例如Spark通过RDD的形式来表现数据的计算逻辑,可以在RDD上做一系列的优化,来减少数据的传输。分布式存储:所谓的分布式存储,指的是将一个大文件拆成N份,每一份独立的放到一台机器上,这里就涉及到文件的副本,分片,以及管理等操作,分布式存储主要优化的动作都在这一块。检索和存储的结合:在早期的大数据组件中,存储和计算相对比较单一,但是目前更多的方向是在存储上做更多的手脚,让查询和计算更加高效,对于计算来说高效不外乎就是查找数据快,读取数据快,所以目前的存储不单单的存储数据内容,同时会添加很多元信息,例如索引信息。像类似于parquet和carbondata都是这样的思想。总的来说,目前围绕Hadoop体系的大数据架构大概有以下几种:传统大数据架构之所以叫传统大数据架构,是因为其定位是为了解决传统BI的问题,简单来说,数据分析的业务没有发生任何变化,但是因为数据量、性能等问题导致系统无法正常使用,需要进行升级改造,那么此类架构便是为了解决这个问题。 可以看到,其依然保留了ETL的动作,将数据经过ETL动作进入数据存储。优点:简单,易懂,对于BI系统来说,基本思想没有发生变化,变化的仅仅是技术选型,用大数据架构替换掉BI的组件。缺点:对于大数据来说,没有BI下如此完备的Cube架构,虽然目前有kylin,但是kylin的局限性非常明显,远远没有BI下的Cube的灵活度和稳定度,因此对业务支撑的灵活度不够,所以对于存在大量报表,或者复杂的钻取的场景,需要太多的手工定制化,同时该架构依旧以批处理为主,缺乏实时的支撑。适用场景:数据分析需求依旧以BI场景为主,但是因为数据量、性能等问题无法满足日常使用。流式架构在传统大数据架构的基础上,流式架构非常激进,直接拔掉了批处理,数据全程以流的形式处理,所以在数据接入端没有了ETL,转而替换为数据通道。经过流处理加工后的数据,以消息的形式直接推送给了消费者。虽然有一个存储部分,但是该存储更多的以窗口的形式进行存储,所以该存储并非发生在数据湖,而是在外围系统。优点:没有臃肿的ETL过程,数据的实效性非常高。缺点:对于流式架构来说,不存在批处理,因此对于数据的重播和历史统计无法很好的支撑。对于离线分析仅仅支撑窗口之内的分析。 适用场景:预警,监控,对数据有有效期要求的情况。Lambda架构Lambda架构算是大数据系统里面举足轻重的架构,大多数架构基本都是Lambda架构或者基于其变种的架构。Lambda的数据通道分为两条分支:实时流和离线。实时流依照流式架构,保障了其实时性,而离线则以批处理方式为主,保障了最终一致性。什么意思呢?流式通道处理为保障实效性更多的以增量计算为主辅助参考,而批处理层则对数据进行全量运算,保障其最终的一致性,因此Lambda最外层有一个实时层和离线层合并的动作,此动作是Lambda里非常重要的一个动作,大概的合并思路如下:优点:既有实时又有离线,对于数据分析场景涵盖的非常到位。缺点:离线层和实时流虽然面临的场景不相同,但是其内部处理的逻辑却是相同,因此有大量荣誉和重复的模块存在。适用场景:同时存在实时和离线需求的情况。Kappa架构 Kappa架构在Lambda 的基础上进行了优化,将实时和流部分进行了合并,将数据通道以消息队列进行替代。因此对于Kappa架构来说,依旧以流处理为主,但是数据却在数据湖层面进行了存储,当需要进行离线分析或者再次计算的时候,则将数据湖的数据再次经过消息队列重播一次则可。 优点:Kappa架构解决了Lambda架构里面的冗余部分,以数据可重播的超凡脱俗的思想进行了设计,整个架构非常简洁。缺点:虽然Kappa架构看起来简洁,但是施难度相对较高,尤其是对于数据重播部分。适用场景:和Lambda类似,改架构是针对Lambda的优化。Unifield架构 以上的种种架构都围绕海量数据处理为主,Unifield架构则更激进,将机器学习和数据处理揉为一体,从核心上来说,Unifield依旧以Lambda为主,不过对其进行了改造,在流处理层新增了机器学习层。可以看到数据在经过数据通道进入数据湖后,新增了模型训练部分,并且将其在流式层进行使用。同时流式层不单使用模型,也包含着对模型的持续训练。优点:Unifield架构提供了一套数据分析和机器学习结合的架构方案,非常好的解决了机器学习如何与数据平台进行结合的问题。缺点:Unifield架构实施复杂度更高,对于机器学习架构来说,从软件包到硬件部署都和数据分析平台有着非常大的差别,因此在实施过程中的难度系数更高。适用场景:有着大量数据需要分析,同时对机器学习方便又有着非常大的需求或者有规划。总结以上几种架构为目前数据处理领域使用比较多的几种架构,当然还有非常多其他架构,不过其思想都会或多或少的类似。数据领域和机器学习领域会持续发展,以上几种思想或许终究也会变得过时。 (编辑:草根网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐


浙公网安备 33038102330473号