大数据技术有哪些?
简单来说,从大数据的生命周期来看,无外乎四个方面:大数据采集、大数据预处理、大数据存储、大数据分析,共同组成了大数据生命周期里最核心的技术,下面分开来说:
大数据采集
数据库采集:流行的有Sqoop和ETL,传统的关系型数据库MySQL和Oracle 也依然充当着许多企业的数据存储方式。当然了,目前对于开源的Kettle和Talend本身,也集成了大数据集成内容,可实现hdfs,hbase和主流Nosq数据库之间的数据同步和集成。
网络数据采集:一种借助网络爬虫或网站公开API,从网页获取非结构化或半结构化数据,并将其统一结构化为本地数据的数据采集方式。
文件采集:包括实时文件采集和处理技术flume、基于ELK的日志采集和增量采集等等。
大数据预处理
数据清理:指利用ETL等清洗工具,对有遗漏数据(缺少感兴趣的属性)、噪音数据(数据中存在着错误、或偏离期望值的数据)、不一致数据进行处理。
数据集成:是指将不同数据源中的数据,合并存放到统一数据库的,存储方法,着重解决三个问题:模式匹配、数据冗余、数据值冲突检测与处理。
数据转换:是指对所抽取出来的数据中存在的不一致,进行处理的过程。它同时包含了数据清洗的工作,即根据业务规则对异常数据进行清洗,以保证后续分析结果准确性。
数据规约:是指在最大限度保持数据原貌的基础上,最大限度精简数据量,以得到较小数据集的操作,包括:数据方聚集、维规约、数据压缩、数值规约、概念分层等。
大数据采集,即对各种来源的结构化和非结构化海量数据,所进行的采集。
大数据预处理,指的是在进行数据分析之前,先对采集到的原始数据所进行的诸如“清洗、填补、平滑、合并、规格化、一致性检验”等一系列操作,旨在提高数据质量,为后期分析工作奠定基础。数据预处理主要包括四个部分:数据清理、数据集成、数据转换、数据规约。
三、大数据存储
大数据存储,指用存储器,以数据库的形式,存储采集到的数据的过程,包含三种典型路线:
1、基于MPP架构的新型数据库集群
采用Shared Nothing架构,结合MPP架构的高效分布式计算模式,通过列存储、粗粒度索引等多项大数据处理技术,重点面向行业大数据所展开的数据存储方式。具有低成本、高性能、高扩展性等特点,在企业分析类应用领域有着广泛的应用。
较之传统数据库,其基于MPP产品的PB级数据分析能力,有着显著的优越性。自然,MPP数据库,也成为了企业新一代数据仓库的最佳选择。
2、基于Hadoop的技术扩展和封装
基于Hadoop的技术扩展和封装,是针对传统关系型数据库难以处理的数据和场景(针对非结构化数据的存储和计算等),利用Hadoop开源优势及相关特性(善于处理非结构、半结构化数据、复杂的ETL流程、复杂的数据挖掘和计算模型等),衍生出相关大数据技术的过程。
伴随着技术进步,其应用场景也将逐步扩大,目前最为典型的应用场景:通过扩展和封装 Hadoop来实现对互联网大数据存储、分析的支撑,其中涉及了几十种NoSQL技术。
3、大数据一体机
这是一种专为大数据的分析处理而设计的软、硬件结合的产品。它由一组集成的服务器、存储设备、操作系统、数据库管理系统,以及为数据查询、处理、分析而预安装和优化的软件组成,具有良好的稳定性和纵向扩展性。
四、大数据分析挖掘
从可视化分析、数据挖掘算法、预测性分析、语义引擎、数据质量管理等方面,对杂乱无章的数据,进行萃取、提炼和分析的过程。
1、可视化分析
可视化分析,指借助图形化手段,清晰并有效传达与沟通信息的分析手段。主要应用于海量数据关联分析,即借助可视化数据分析平台,对分散异构数据进行关联分析,并做出完整分析图表的过程。
具有简单明了、清晰直观、易于接受的特点。
2、数据挖掘算法
数据挖掘算法,即通过创建数据挖掘模型,而对数据进行试探和计算的,数据分析手段。它是大数据分析的理论核心。
数据挖掘算法多种多样,且不同算法因基于不同的数据类型和格式,会呈现出不同的数据特点。但一般来讲,创建模型的过程却是相似的,即首先分析用户提供的数据,然后针对特定类型的模式和趋势进行查找,并用分析结果定义创建挖掘模型的最佳参数,并将这些参数应用于整个数据集,以提取可行模式和详细统计信息。
3、预测性分析
预测性分析,是大数据分析最重要的应用领域之一,通过结合多种高级分析功能(特别统计分析、预测建模、数据挖掘、文本分析、实体分析、优化、实时评分、机器学习等),达到预测不确定事件的目的。
帮助分用户析结构化和非结构化数据中的趋势、模式和关系,并运用这些指标来预测将来事件,为采取措施提供依据。
4、语义引擎
语义引擎,指通过为已有数据添加语义的操作,提高用户互联网搜索体验。
5、数据质量管理
指对数据全生命周期的每个阶段(计划、获取、存储、共享、维护、应用、消亡等)中可能引发的各类数据质量问题,进行识别、度量、监控、预警等操作,以提高数据质量的一系列管理活动。
总的来说大数据有5个部分。数据采集,数据存储,数据清洗,数据挖掘,数据可视化。
数据采集有硬件采集,如OBD,有软件采集,如滴滴,淘宝。数据存储就包括NOSQL,hadoop等等。
数据清洗包括语议分析,流媒体格式化等等。
数据挖掘包括关联分析,相似度分析,距离分析,聚类分析等等。数据可视化就是WEB的了。
大数据技术的具体内容?
分布式存储计算架构(强烈推荐:Hadoop)
分布式程序设计(包含:Apache Pig或者Hive)
分布式文件系统(比如:Google GFS)
多种存储模型,主要包含文档,图,键值,时间序列这几种存储模型(比如:BigTable,Apollo, DynamoDB等)
数据收集架构(比如:Kinesis,Kafla)
集成开发环境(比如:R-Studio)
程序开发辅助工具(比如:大量的第三方开发辅助工具)
调度协调架构工具(比如:Apache Aurora)
机器学习(常用的有Apache Mahout 或 H2O)
托管管理(比如:Apache Hadoop Benchmarking)
安全管理(常用的有Gateway)
大数据系统部署(可以看下Apache Ambari)
搜索引擎架构( 学习或者企业都建议使用Lucene搜索引擎)
多种数据库的演变(MySQL/Memcached)
商业智能(大力推荐:Jaspersoft )
数据可视化(这个工具就很多了,可以根据实际需要来选择)
大数据处理算法(10大经典算法)
大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
从技术上看,大数据与云计算的关系就像一枚硬币的正反面一样密不可分。大数据必然无法用单台的计算机进行处理,必须采用分布式架构。
它的特色在于对海量数据进行分布式数据挖掘。但它必须依托云计算的分布式处理、分布式数据库和云存储、虚拟化技术。