大数据分析是什么?


  大数据时代的到来,离不开很多契机,包括但不限于互联网的发展(这会导致数据吞吐量的急剧增长)、采集技术的发展(各种传感器、各个环节的数据埋点)、硬件发展(存储硬件、运算处理硬件)、数据应用场景扩展(数据挖掘分析技术的发展,使得越来越多的场景都可以通过数据获取价值)等因素,而随着大数据概念的深化,各行各业的数据量的积累,使得越来越多的人会接触到大数据,至少接触大数据这个概念,有的甚至是在使用大数据,在不知不觉中其实就与大数据接轨。
 
  但是,在不借助大数据平台的情况下,我们往往很难直接使用传统的分析工具,比如用Excel等数据处理和分析工具来处理海量的数据,极易发生卡顿以及需要较长的响应时间,这是由于计算机本身的计算逻辑决定的,当单台计算机的数据吞吐量上去之后,会发现计算机好像停住了好久都没反应。当然,性能不同的电脑,所对应的这个处理能力上限是不相同的,但总言之,数据量的大是一种模糊的概念,并不是说一定多少数据才算大数据,而数据量的大使得我们常规的数据处理分析的工具和方法难以使用的情况,正是“大数据分析”和普通的“数据分析”之间的门槛,即实现技术。
 

 
 
  有些人接触到了一些大数据的项目,觉得数据量确实大,但是还没达到传统工具处理不了的地步,也被称为大数据分析。所以只是大家对这里的“大”的界定不相同而已。
 
  1. 什么是大数据分析?
 
  正如前面说的,大数据分析其实就体现在“大”这个特点上,即对规模巨大的数据进行分析。比较经典也比较广为接受的对大数据概念的定义为IBM提出的“5V”特征:1.数据量大(Volume,数据存量大,待处理分析的数据规模大);2.速度快(Velocity,不仅是存量大,数据的增长速度也快,这就对及时的大数据处理也提出了要求);3.类型多(Variety,数据类型可以归为结构化、半结构化、非结构化,但具体的形式却千差万别,尽管最后都会转化为数据流,但不同形式的数据处理的方法和难度并不相同);4.价值(Value,大数据的处理成本大,于是我们需要常常思考,我们分析大数据的价值是什么,而我个人的观点是:数据是客观现实的一个反馈,我们分析数据其实是在分析过去,它一定是有价值,只不过这个价值的挖掘难易程度不尽相同);5.真实性(Veracity,数据量大一定会伴随这数据的失真,部分数据不确定的情况,所以在分析过程中还要考虑数据的真实性问题,这决定了从中挖掘出的数据价值的难易)。
 
  这只是众多定义中的一种,其他的定义也是一样的,总的来说就是,“大数据”首先的特点是量大,这就导致了处理难度的升高,那这件事这么费劲会什么要做呢?就得了解到大数据的潜在价值。当然,我个人觉得,现在的大数据处理的价值在于可以通过中央平台去同时处理海量的数据,节省空间和成本,大家应该会有感触,就是很多公司会建立自己的数据中台,输出各种数据、图表和报告,相当于一个大的数据池,但是具体的分析为什么还是要落实到各个业务线呢,就是因为实际中的东西千差万别,很难用一套既定的方法或模式走太远,所以需要结合各个业务部门对实际的客户需求的理解、对实际数据的理解进行再加工。推荐大家可以去看本书:《痛点》,它是大数据分析下的一股清流,专注于小数据分析,从小数据中挖掘出价值。
 
  2. 大数据分析的特点
 
  在实现技术层面确实差别会很大,但是总体的分析流程其实和传统的数据分析差不多,也是有着:数据采集、预处理、数据存储、数据分析这样的过程。但因为大数据分析数据量十分庞大的特点,导致这些过程在处理技术上都要依托相应的底层框架。这也使得大数据分析具有以下特点数据量大:因为数据量的庞大,导致大数据分析需要另外的实现工具和框架。但这个庞大的界定有多种说法,有的是说几十万,几百万就是很大的数据量,有的说数据量达到传统处理根据没法处理的程度才算大(包括非结构化数据处理维度很大,上万的数据量就很难处理了),这些都可以称为大数据。
 
  对算法要求较低:随着数据量的增加,大数据分析的方法可能会趋向于基础化,就是不会很复杂。其实大数据挖掘更多的是挖掘相关性,而这种相关性也难以被严格证明为因果,且大数据的繁杂,导致很难做精确的分析,或者说做出的精确分析的可靠性也会打折扣,所以一般会用基础的算法(实际中往往是更简单些的算法效果更好)。
 
  数据存储也很关键:数据量的急剧增加使得对数据的存储也有更高的要求。实际应用中,往往处理的是海量的动态增加的数据,因此对数据库的存储查询也有着较高的要求,多用分布式数据库进行按类汇总存储。
 
  多为云计算、云存储环境:大数据处理对实验环境有着较高的要求,通常都是在普通计算机的集群上实现处理操作。也可以远程使用云计算、云存储资源,这也是我们使用很多的大数据平台它的一个逻辑,平台即服务。但如果我们只是自己做一下集群实验的话,可以用两三台电脑来部署;也可以在一台电脑上分出三个有虚拟机,可以把它们看成是三台计算机,只不过他们在同一台电脑上,是人为虚拟分出来的计算机,也可以通过这个虚拟机的方式来模拟多机集群计算。
 
  3. 大数据分析的框架
 
  这里的框架是指分析所在的技术框架,并不是分析的逻辑框架。目前,Hadoop等分布式处理框架由于低成本、高可靠、高扩展、高有效、高容错等特性,成为了大数据分析各环节的通用处理方法。
 
  是一个基于Java的开源编程框架,结合了Java跨平台编程的特性,使得Hadoop也支持在分布式计算环境中存储和处理超大型的数据集。用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。那这个框架它是如何它是把一个任务分发给多台计算机且保证不出错和集群系统稳定的呢?这就要知道 HDFS(Hadoop Distribute File System),即Hadoop的分布式文件系统这个东西,它是Hadoop生态的核心。大家可以去了解它的底层逻辑,看看它是如何通过分区命名去准确知道资源的存放位置的,以及如何通过冗余备份来防止集群中少数计算机宕机导致的数据丢失,且理论上,只要计算机数量无限,那这这个集群的计算能力也是无限地线性叠加的。
 
  4. 写在最后
 
  以上的这些内容,只是大数据领域的一些皮毛,小编也是在几年前接触过大数据技术的课程,偏实现层面。很复杂,且Hadoop只是这些众多框架的一部分,还有很多的辅助实现其他功能的框架,是一个大的软件生态。这些都是传统数据分析转向大数据分析要面临的门槛,且这还只是一部分,当然如果要涉足大数据还是得知道大数据的一些特性,包括常见的数据问题要怎么处理解决等。对零基础的读者来说,这一块要有一个漫长的学习周期,且还要有一定的环境条件供练习。
 
  但是呢?作为普通人的我们,也没啥机会能处理海量数据,一般这些都是企业级的操作,那为什么刚才我还说我们可能甚至是在使用大数据呢?可以两个角度理解,一个角度是,我们在一些平台上的一些使用数据,本身是经过平台服务器的大数据分析过的,这些加工后的数据作为平台决策之用,但是用到了我们身上,我们是大数据分析结果的受用者;另一个角度是,我们有时候使用的一些处理平台,比如大数据人力资源管理平台、或者是大数据可视化平台等等,我们现在是处理方,我们做了大数据处理这么个工作,但具体的实现过程是平台调用了服务器上的集群资源,来一起完成这事,你可能只是一个发布指令的人。所以我们并不会感受到因为没基础而带来的限制。最后的最后,本文只是一篇精简的科普性的文章,因为本人水平有限,也对这些不熟悉的领域抱着敬畏之心,所以还是建议,如果真的打算从事大数据,得好好系统地上相关的课程,以及进行大量的训练,加油,还是那句话,有志者事竟成!
 
  

 

返回列表