一文梳理大数据四大方面十五大关键技术

导·读

近年来,大数据来势汹汹,渗透到各行各业,带来了一场翻天覆地的变革。让人们越发认识到,比掌握庞大的数据信息更重要的是掌握对含有意义的数据进行专业化处理的技术。

如果将大数据比作一种产业,那么这产业盈利的关键点在于,提高对数据的“加工能力”,通过“加工”实现数据的“增值”,这便是大数据关键技术发挥的能力。

大数据关键技术涵盖从数据存储、处理、应用等多方面的技术,根据大数据的处理过程,可将其分为大数据采集、大数据预处理、大数据存储及管理、大数据分析及挖掘等环节。

本文针对大数据的关键技术进行梳理,以飨读者。

一文梳理大数据四大方面十五大关键技术

▋Part1.大数据采集

数据采集是大数据生命周期的第一个环节,它通过RFID射频数据、传感器数据、社交网络数据、移动互联网数据等方式获得各种类型的结构化、半结构化及非结构化的海量数据。由于可能有成千上万的用户同时进行并发访问和操作,因此,必须采用专门针对大数据的采集方法,其主要包括以下三种:

A.数据库采集

一些企业会使用传统的关系型数据库MySQL和Oracle等来存储数据。谈到比较多的工具有Sqoop和结构化数据库间的ETL工具,当然当前对于开源的Kettle和Talend本身也集成了大数据集成内容,可以实现和hdfs,hbase和主流Nosq数据库之间的数据同步和集成。

B.网络数据采集

网络数据采集主要是借助网络爬虫或网站公开API等方式,从网站上获取数据信息的过程。通过这种途径可将网络上非结构化数据、半结构化数据从网页中提取出来,并以结构化的方式将其存储为统一的本地数据文件。

C.文件采集

对于文件的采集,谈的比较多的还是flume进行实时的文件采集和处理,当然对于ELK(Elasticsearch、Logstash、Kibana三者的组合)虽然是处理日志,但是也有基于模板配置的完整增量实时文件采集实现。如果是仅仅是做日志的采集和分析,那么用ELK解决方案就完全够用的。

▋Part2.大数据预处理

数据的世界是庞大而复杂的,也会有残缺的,有虚假的,有过时的。想要获得高质量的分析挖掘结果,就必须在数据准备阶段提高数据的质量。大数据预处理可以对采集到的原始数据进行清洗、填补、平滑、合并、规格化以及检查一致性等,将那些杂乱无章的数据转化为相对单一且便于处理的构型,为后期的数据分析奠定基础。数据预处理主要包括:数据清理、数据集成、数据转换以及数据规约四大部分。

A.数据清理

数据清理主要包含遗漏值处理(缺少感兴趣的属性)、噪音数据处理(数据中存在着错误、或偏离期望值的数据)、不一致数据处理。主要的清洗工具是ETL(Extraction/Transformation/Loading)和Potter’s Wheel。

遗漏数据可用全局常量、属性均值、可能值填充或者直接忽略该数据等方法处理;噪音数据可用分箱(对原始数据进行分组,然后对每一组内的数据进行平滑处理)、聚类、计算机人工检查和回归等方法去除噪音;对于不一致数据则可进行手动更正。

B.数据集成

数据集成是指将多个数据源中的数据合并存放到一个一致的数据存储库中。这一过程着重要解决三个问题:模式匹配、数据冗余、数据值冲突检测与处理。

来自多个数据集合的数据会因为命名的差异导致对应的实体名称不同,通常涉及实体识别需要利用元数据来进行区分,对来源不同的实体进行匹配。数据冗余可能来源于数据属性命名的不一致,在解决过程中对于数值属性可以利用皮尔逊积矩Ra,b来衡量,绝对值越大表明两者之间相关性越强。数据值冲突问题,主要表现为来源不同的统一实体具有不同的数据值。

C.数据变换

数据转换就是处理抽取上来的数据中存在的不一致的过程。数据转换一般包括两类:

第一类,数据名称及格式的统一,即数据粒度转换、商务规则计算以及统一的命名、数据格式、计量单位等;第二类,数据仓库中存在源数据库中可能不存在的数据,因此需要进行字段的组合、分割或计算。数据转换实际上还包含了数据清洗的工作,需要根据业务规则对异常数据进行清洗,保证后续分析结果的准确性。