大数据是当前很热的一个词。这几年来,云计算、继而大数据,成了整个社会的热点,不管什么,都要带上“大数据”三个字才显得时髦。大数据究竟是什么东西?有哪些相关技术?对普通人的生活会有怎样的影响?我们来一步步弄清这些问题。
一、基本概念
在讲什么是大数据之前,我们首先需要厘清几个基本概念。 1.数据
关于数据的定义,大概没有一个权威版本。为方便,此处使用一个简单的工作定义:数据是可以获取和存储的信息。
直观而言,表达某种客观事实的数值是最容易被人们识别的数据(因为那是“数”)。但实际上,人类的一切语言文字、图形图画、音像记录,所有感官可以察觉的事物,只要能被记下来,能够查询到,就都是数据(data)。
不过数值是所有数据中最容易被处理的一种,许多和数据相关的概念,例如下面的数据可视化和数据分析,最早是立足于数值数据的。
传统意义上的数据一词,尤其是相对于今天的“大数据”的“小数据”,主要指的就是数值数据,甚至在很多情况下专指统计数值数据。这些数值数据用来描述某种客观事物的属性。
2.数据可视化
对应英语的data visulization(或可译为数据展示),指通过图表将若干数字以直观的方式呈现给读者。比如非常常见的饼图、柱状图、走势图、热点图、K线等等,目前以二维展示为主,不过越来越多的三维图像和动态图也被用来展示数据。
3.数据分析
这一概念狭义上,指统计分析,即通过统计学手段,从数据中精炼对现实的描述。例如:针对以关系型数据库中以table形式存储的数据,按照某些指定的列进行分组,然后计算不同组的均值、方差、分布等。再以可视化的方式讲这些计算结果呈现出来。目前很多文章中提及的数据分析,其实是包括数据可视化的。
4.数据挖掘
这个概念的定义也是众说纷纭,落到实际,主要是在传统统计学的基础上,结合机器学习的算法,对数据进行更深层次的分析,并从中获取一些传统统计学方法无法提供的Insights(比如预测)。
简单而言:针对某个特定问题构建一个数学模型(可以把这个模型想象成一个或多个公式),其中包含一些具体取值未知的参数。我们将收集到的相关领域的若干数据(这些数据称为训练数据)代入模型,通过运算(运算过程称为训练),得出那些参数的值。然后再用这个已经确定了参数的模型,去计算一些全新的数据,得出相应结果。这一过程叫做机器学习。
机器学习的算法纷繁复杂,最常用的主要有回归分析、关联规则、分类、聚类、神经网络、决策树等。
二、大数据和大数据分析
大数据首先是数据,其次,它是具备了某些特征的数据。目前公认的特征有四个:Volumne,Velocity,Variety,和Value,简称4V.
1.Volume:大量。就目前技术而言,至少TB级别以下不能成大数据。
2.Velocity:高速。1TB的数据,十分钟处理完,叫大数据,一年处理完,就不能算“大”了。
3.Variety:多样。就内容而言,大数据已经远远不局限数值,文字、图片、语音、图像,一切在网络上可以传输显示的信息,都属于此列。从结构而言,和存储在数据库中的结构化数据不同,当前的大数据主要指半结构化和非结构化的信息,比如机器生成信息(各种日志)、自然语言等。
4. Value:价值。如果不能从中提取出价值,不能通过挖掘、分析,得到指导业务的insights,那这些数据也就没什么用。不过现在还有另外一种提法:只要是数据就都有用,能不能获得价值,是分析人员的能力问题。
大数据分析,顾名思义,就是将前述的数据可视化、数据分析、数据挖掘等方法作用到大数据之上。
从某种意义上讲,大数据可谓机器学习的福音,很多原有的简单粗糙的机器学习模型,仅仅因为训练数据量级的增加就大幅提高了准确性。还有一些模型则因为准确性随着数据量增加而增加的势头尤其明显,得以脱离默默无闻而被广泛使用。
另一方面,大数据分析对于运算量的需求激增,原有的基于单机的运算技术显然已经不能满足需求,这就催生了一些列新技术。
三、大数据技术
抽象而言,各种大数据技术无外乎分布式存储 + 并行计算。具体体现为各种分布式文件系统和建立在其上的并行运算框架。这些软件程序都部署在多个相互连通、统一管理的物理或虚拟运算节点之上,形成集群(cluster)。因此不妨说,云计算是大数据的基础。
下面介绍几种当前比较流行的大数据技术: 1.Hadoop
Hadoop无疑是当前最知名的大数据技术了。
2003年到2004年间,Google发布了关于GFS、MapReduce和BigTable三篇技术论文(这几篇论文成为了后来云计算、大数据领域发展的重要基石)。当时一位因公司倒闭赋闲在家的程序员Doug Cutting根据前两篇论文,开发出了一个简化的山寨版GFS – HDFS,以及基于其的MapReduce计算框架,这就是Hadoop最初版本。后来Cutting被
Yahoo雇佣,得以依赖Yahoo的资源改进Hadoop,并将其贡献给了Apache开源社区。
简单描述Hadoop原理:数据分布式存储,运算程序被发派到各个数据节点进行分别运算(Map),再将各个节点的运算结果进行合并归一(Reduce),生成最终结果。相对于动辄TB级别的数据,计算程序一般在KB – MB的量级,这种移动计算不移动数据的设计节约了大量网络带宽和时间,并使得运算过程可以充分并行化。
在其诞生后的近10年里,Hadoop凭借其简单、易用、高效、免费、社区支持丰富等特征成为众多企业云计算、大数据实施的首选。 2.Storm
Hadoop虽好,却有其“死穴”.其一:它的运算模式是批处理。这对于许多有实时性要求的业务就无法做到很好的支持。因此,Twitter推出了他们自己的基于流的运算框架--Storm.不同于Hadoop一次性处理所有数据并得出统一结果的作业(job),Storm对源源导入的数据流进行持续不断的处理,随时得出增量结果。 3.Spark
Hadoop的另一个致命弱点是:它的所有中间结果都需要进行硬盘存储,I/O消耗巨大,这就使得它很不适合多次迭代的运算。而大多数机器学习算法,恰恰要求大量迭代运算。
2010年开始,UC Berkeley AMP Lab开始研发分布式运算的中间过程全部内存存储的Spark框架,由此在迭代计算上大大提高了效率。也因此成为了Hadoop的强有力竞争者。
4.NoSQL 数据库
NoSQL数据库可以泛指非关系型数据库,不过一般用来指称那些建立在分布式文件系统(例如HDFS)之上,基于key-value对的数据管理系统。
相对于传统的关系型数据库,NoSQL数据库中存储的数据无需主键和严格定义的schema.于是,大量半结构化、非结构化数据可以在未经清洗的情况下直接进行存储。这一点满足了处理大量、高速、多样的大数据的需求。当前比较流行的NoSQL数据库有MongoDB,Redis,Cassandra,HBase等。
NoSQL并不是没有SQL,而是不仅仅有(not only)SQL的意思。为了兼容之前许多运行在关系型数据库上的业务逻辑,有很多在NoSQL数据
库上运行SQL的工具涌现出来,最典型的例如Hive和Pig,它们将用户的SQL语句转化成MapReduce作业,在Hadoop上运行。
四、和数据、大数据相关的职位
和数据、数据分析相关的职位有不少,大都不是新生事物。
1.有一个历史悠久的职位叫“统计”.一般的农村生产队都有统计员,工厂也有专门的统计职位。比如一个工厂里,每个车间每天都要上报各种原材料的使用、耗损情况、产品成品数,废品数等。这些数字被汇总给统计人员,统计员会做一个表格,说明某日、月、年的成品率、成品数等等概念。虽然看起来不够in,但实际上他们做的数据收集整理展示的工作,从根本上和现在的数据分析师是同理的。
2.另一个相对摩登一点的职位,叫做BI (business intelligence)。这个职位,其实和传统工厂的统计差别不大,如果说有差别,就是差在数据展示上。BI都被要求使用软件工具对数据进行整理和展示。比如,某大型生产型企业的BI,他的工作是统计该企业各种产品在各个地区的销售信息。他每天从拿到各个销售网点提交的excel表,把其中数据导出到数据库里,进行一些SQL查询,然后用可视化工具将结果生成图形表格提交给业务人员参考。
3.还有两个职位,一个叫做数据分析师(data analyst),另一个叫数据科学家(data scientist)。这两个职位,在有些机构组织中,职责不同;在另一些地方,职责相同,或相似,但级别不同。对于职责不同的地方,一般数据科学家要使用机器学习的算法,而数据分析师则专注在统计。
目前数据科学家这个词一般都和大数据绑定在一起,包括在美国,似乎一提data scientist就是做大数据的,但是实际上未必,很多有 data scientist 头衔的人,也确实在工作中大量应用机器学习算法,但是,他们处理的并不是大数据,很可能只是几十万,几百万量级的数据库记录。
4.(大)数据工程师(data engineer/big data engineer)。这个职位更偏重于数据本身的处理,即大规模(TB/PB级别)数据的提取、迁移、抽取和清洗。数据工程师也可以进行数据挖掘工作,或者协助数据科学家实现算法。
5.数据质量(data quality)。担任这个职位的,是保证各层级数据完整性和准确性的人员。他们负责制定数据完整性和准确性标准,设计检测方法并实施检测。
上述这些职位,主要指IT产业内的职位,其他还有一些在研究机构
或者大公司研究部门进行算法优化和研究的人员,以及另一些相对低端的,手工清洗数据的劳动者(例如:在数据库时代,手工录入数据到数据库的人),就都不计入此列了。
五、大数据的影响
大数据概念的兴起正在对我们的社会产生多方面的影响:
1.定量分析
因“大数据”而使得人们开始关注“数据”,可谓最首要的影响。尤其对于国内而言,越来越多的决策者开始重视数据的力量,会在决断同时参考各类统计、分析报表,而不再是凭直觉拍脑袋。
2.从必然到相关
相对于传统的小数据统计,大数据更关注与发现事物之间的相关性,而非因果关系。人类历经百万年基于数据贫乏的现状而形成的“因为……所以……”的思维习惯,在大数据时代,是否会向“……有关联……”转变?
3.信息安全
以今日的技术,一个人的个人信息、网页浏览记录、购物记录、对图书影片等内容的偏好,在浏览不同页面时的行为习惯,如此种种,都可以轻易被商家或某些机构获取。在大数据的笼罩之下,每个人都将无所遁形。那么,对于每个人本该拥有的隐私权,该如何保护?
新技术解决了许多之前无法解决的问题,然而,新生事物也带来了新的问题。像所有技术一样,大数据也是一把 “双刃剑”.能否用其利除其弊,有赖于全社会的共同努力
本文内容由北大青鸟佳音校区老师于网络整理,学计算机技术就选北大青鸟佳音校区!了解校区详情可进入www.bjaccp.com网站,学校地址位于北京市西城区北礼士路100号!
大数据基本概念及技术
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)