初识大数据

1.大数据的源流以及发展

大数据是指对巨量不同种类数据(可达PB级别数量)进行智能的收集、存储、挖掘分析,面向具体的行业应用,把大量离散的价值密度低的数据加工形成具有高商业价值的数据处理技术,以帮助企业机构更准确地做出趋势判断、进行精确营销和实现精细化运营等。5G的通信即将来到,数据爆炸式增长,以及数据处理的实时性要求越来越高,大数据处理系统越来越复杂。

在2003年,为了解决大规模数据处理的三大难题,工程师开始构建各种定制化数据处理系统:
① 数据处理(DataProcessing):受限于硬件性能,大规模数据处理特别困难;
② 伸缩性(Scalabilityis):对于数据量的不确定性,让处理程序在不同规模的集群上运行,或者让程序根据计算资源状况自动调度执行;
③ 容错(Fault-toleranceis):让处理程序在由廉价机器组成的集群上可靠地运行。
这些困难促使MapReduce诞生。MapReduce将处理抽象成Map+Shuffle+Reduce的过程。

经过一段时间的应用实践,暴露出了MapReduce的缺陷是Map+Shuffle+Reduce编程模型导致计算作业效率低下。
数据处理任务往往需要对全量数据进行计算,而全量数据很难使用传统关系型数据库进行批量计算,原因如下:
(1)磁盘寻址时间的提升速度远远落后于磁盘带宽的提升速度。如果数据访问包含大量的磁盘寻址,则大数据处理势必带来较大的延迟,因此基于传输带宽设计大数据处理系统更符合现状。
(2)相比全量数据计算,关系型数据库适用于在线事务处理(OLTP,On-Line Transaction Processing)场景,查询和更新是其设计的要点,索引是主要的设计方案。但是在大数据集的场景下,索引的效率往往不如全量扫描。

由此,在2006年Hadoop诞生发展成为能够处理海量Web数据的分布式系统为此。2007年,谷歌发起了Flume项目。Flume将数据处理过程抽象成计算图,引入的管道(Pipeline)、动态负载均衡和流语义思想。

Hadoop在2008年1月正式成为Apache的顶级项目;此后,相关大数据生态体系快速形成,并由此衍生出一系列大数据处理的理论和与之对应的大数据处理框架:从批处理到流处理,相继产生了很多流数据处理平台,各大互联网公司现在都在广泛使用,如Storm , Spark,Flink。

2.大数据在手机端的应用

在我们使用互联网或者各种应用的过程中,通过填写提交表单就会产生数据。比如注册App一些应用,填写一些个人信息资料。除此之外,通过使用一些平台的功能,用户会上传和发布各种类型的数据,如文本类信息、音频、视频等,这都是数据产生和积累的方式。其次就是在使用App中的一些操作产生的数据,比如在淘宝里浏览想购买的的商品。大数据通过分析你浏览过的关键词,会把同类的、相关的产品推送展示给你。这和大家逛超市时,各个牌子各种的同类型产品分区摆在同一个货架上的道理是一样的。

3.大数据通用技术

大数据技术应用于大数据系统一系列环节。

(1)数据接入

大数据系统需要从不同应用和数据源(例如互联网、物联网、应用、手机等)进行离线或实时的数据采集、传输、分发。大数据系统的数据接入需要提供丰富的数据接口、读入各种类型数据。
但是不规范的数据接入会大大增加后续的维护及使用代价。在数据接入时会面临数据孤岛现象,也就是多个事业部,每个事业部都有各自数据,事业部之间的数据往往都各自存储,各自定义;数据质量不稳定;数据分析的实效性不能得到保证;数据安全不能保证;使用数据成本很高。
我们有以下方法:1)建立数据中台,统一数据接入存储,以及统一规范接入方式;2)进行数据校验和格式转换;3)对数据进行实时分析和离线分析;4)进行数据治理和权限控制;5)使用联机分析处理(OLAP)系统查询。

(2)数据预处理

在大数据开发流程中,数据预处理占到了非常大的比重。数据的质量,直接决定了模型的预测和泛化能力的好坏。它涉及很多因素,包括:准确性、完整性、一致性、时效性、可信性和解释性。数据预处理的主要步骤分为:数据清理、数据集成、数据规约和数据变换。
数据清理:在真实数据中,我们拿到的数据可能包含了大量的缺失值,可能包含大量的噪音,也可能因为人工录入错误导致有异常点存在,非常不利于算法模型的训练。我们要处理缺失值、离群点以及噪声也就是变量的随机误差和方差。
数据集成:将多个数据源中的相关数据结合存放至一个一致的数据集中。
数据规约:将数据维度规约化,用于数据分析的数据可能包含数以百计的属性,其中大部分属性与挖掘任务不相关,是冗余的。维度归约通过删除不相关的属性,来减少数据量,并保证信息的损失最小。维度变换是将现有数据降低到更小的维度,也就是合并一些特征,生成新的特征向量,尽量保证数据信息的完整性。
数据变换:包括对数据进行规范化,离散化,稀疏化处理,达到适用于挖掘的目的。

(3)数据存储

随着大数据系统规模的扩大、数据处理和分析维度的提升、以及大数据应用对数据处理性能要求的不断提高,数据存储技术得到持续的发展与优化。
基于MPP架构的新型数据库集群
采用Shared Nothing架构,结合MPP架构的高效分布式计算模式,通过列存储、粗粒度索引等多项大数据处理技术,重点面向行业大数据所展开的数据存储方式。具有低成本、高性能、高扩展性等特点。常见的MPP数据库有GreenPlum、Vertica、Sybase IQ、TD Aster Data。
基于Hadoop的技术扩展和封装
Hadoop是针对传统关系型数据库难以处理的数据和场景(针对非结构化数据的存储和计算等),利用Hadoop开源优势及相关特性(善于处理非结构、半结构化数据、复杂的ETL流程、复杂的数据挖掘和计算模型等)。伴随着技术进步,其应用场景也将逐步扩大,目前最为典型的应用场景:通过扩展和封装 Hadoop来实现对互联网大数据存储、分析的支撑,其中涉及了新兴的NoSQL:HBase、Cassandra、Redis、MongoDB;全文检索框架:ES、Solr等。

(4)数据处理

不同大数据应用对数据处理需求各异,导致产生了如离线处理、实时处理、交互查询、实时检索等不同数据处理方法。
离线处理是指对海量数据进行批量的处理和分析,对处理时间的实时性要求不高,但数据量巨大、占用计算及存储资源较多。Hadoop分布式存储+分布式运算的框架,可以对海量数据进行统计分析。
实时处理是指对实时数据源(比如流数据)进行快速分析,对分析处理的实时性要求高,单位时间处理的数据量大,对CPU和内存的要求很高,例如微博热点,实时投票PK,可以使用流平台处理框架如Spark、Redis、Storm、Flink。
交互查询是指对数据进行交互式的分析和查询,对查询响应时间要求较高,对查询语言支持要求高,一般是使用SQL hive。
实时检索是指对实时写入的数据进行动态的查询对查询响应时间要求较高,并且通常需要持高并发查询。
近年来,为满足不同数据分析场景在性能、数据规模、并发性等方面的要求,流计算、内存计算、图计算等数据处理技术不断发展问时,人工智能的快速发展使得机器学习算法更多的融入数据处理、分析过程,进一步提升了数据处理结果的精准度、智能化和分析效率。

(5)数据可视化

数据可视化是大数据技术在各行业应用中的关键环节。通过直观反映出数据各维度指标的变化趋势,用以支撑用户分析、监控和数据价值挖掘。数据可视化技术的发展使得用户借助图表、2D\3D视图等多种方式,通过自定义配置可视化界面实现对各类数据源进行面向不同应用要求的分析。

(6)数据治理

数据治理涉及数据全生存周期端到端过程,不仅与技术紧密相关,还与政策、法规、标准、流程等密切关联。从技术角度,大数据治理涉及到元数据管理、数据标准管理、数据质量管理、数据安全管理等多方面技术。当前,数据资源分散、数据流通困难(模型不统一、接口难对接)应用系统孤立等问题已经成为企业数字化转型最大挑战之一。大数据系统需要通过提供集成化的数据治理能力、实现统一数据资产管理及数据资源规划。

(7)安全与隐私保护

大数据系统的安全与系统的各个组件、及系统工作的各个环节相关,需要从数据安全(例如备份容灾、数据加密)、应用安全(例如身份鉴别和认证)、设备安全(例如网络安全、主机安全)等方面全面保障系统的运行安全。同时随着数据应用的不断深入,数据隐私保护(包括个人隐私保护,企业商业秘密保护、国家机密保护)也已成为大数据技术重点研究方向之一。

参考资料

1.中国信通院:2020年大数据白皮书
http://www.199it.com/archives/1181983.html
2.信息技术研究中心:2020大数据标准化白皮书
http://www.199it.com/archives/1125367.html
3.数据挖掘:概念与技术 韩家炜
http://media1.yunxuetang.com/yxt/LibraryFiles/scebit/Documents/201501/b48aae9843ae4503a638496bf93dfca9.pdf

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值