提及大数据,不少人都能聊上一会,但要是问大数据核心技术有哪些,估计不少人就说不上一二来了。ios
从机器学习到数据可视化,大数据发展至今已经拥有了一套至关成熟的技术树,不一样的技术层面有着不一样的技术架构,并且每一年还会涌现出新的技术名词。面对如此庞杂的技术架构,不少第一次接触大数据的小白几乎都是望而生畏的。算法
其实想要知道大数据有哪些核心技术很简单,无非三个过程:取数据、算数据、用数据。这么说可能仍是有人以为太空泛,简单来讲从大数据的生命周期来看,无外乎四个方面:大数据采集、大数据预处理、大数据存储、大数据分析,共同组成了大数据生命周期里最核心的技术,下面分开来讲:数据库
1、大数据采集
大数据采集,即对各类来源的结构化和非结构化海量数据,所进行的采集。编程
数据库采集:流行的有Sqoop和ETL,传统的关系型数据库MySQL和Oracle 也依然充当着许多企业的数据存储方式。固然了,目前对于开源的Kettle和Talend自己,也集成了大数据集成内容,可实现hdfs,hbase和主流Nosq数据库之间的数据同步和集成。
网络数据采集:一种借助网络爬虫或网站公开API,从网页获取非结构化或半结构化数据,并将其统一结构化为本地数据的数据采集方式。
文件采集:包括实时文件采集和处理技术flume、基于ELK的日志采集和增量采集等等。
推荐大数据学习交流裙 606八五九705天天晚上20:10会有大数据直播课程,专一大数据开发课程,数据分析方法,大数据编程,大数据仓库,大数据案例,人工智能,数据挖掘都是纯干货分享,天天学一点技术知识。
2、大数据预处理
大数据预处理,指的是在进行数据分析以前,先对采集到的原始数据所进行的诸如“清洗、填补、平滑、合并、规格化、一致性检验”等一系列操做,旨在提升数据质量,为后期分析工做奠基基础。数据预处理主要包括四个部分:服务器
数据清理、数据集成、数据转换、数据规约。网络
数据清理:指利用ETL等清洗工具,对有遗漏数据(缺乏感兴趣的属性)、噪音数据(数据中存在着错误、或偏离指望值的数据)、不一致数据进行处理。
数据集成:是指将不一样数据源中的数据,合并存放到统一数据库的,存储方法,着重解决三个问题:模式匹配、数据冗余、数据值冲突检测与处理。
数据转换:是指对所抽取出来的数据中存在的不一致,进行处理的过程。它同时包含了~数据清洗的工做,即根据业务规则对异常数据进行清洗,以保证后续分析结果准确性
数据规约:是指在最大限度保持数据原貌的基础上,最大限度精简数据量,以获得较小数据集的操做,包括:数据方汇集、维规约、数据压缩、数值规约、概念分层等。
3、大数据存储
大数据存储,指用存储器,以数据库的形式,存储采集到的数据的过程,包含三种典型路线:架构
一、基于MPP架构的新型数据库集群框架
采用Shared Nothing架构,结合MPP架构的高效分布式计算模式,经过列存储、粗粒度索引等多项大数据处理技术,重点面向行业大数据所展开的数据存储方式。具备低成本、高性能、高扩展性等特色,在企业分析类应用领域有着普遍的应用。机器学习
较之传统数据库,其基于MPP产品的PB级数据分析能力,有着显著的优越性。天然,MPP数据库,也成为了企业新一代数据仓库的最佳选择。分布式
二、基于Hadoop的技术扩展和封装
基于Hadoop的技术扩展和封装,是针对传统关系型数据库难以处理的数据和场景(针对非结构化数据的存储和计算等),利用Hadoop开源优点及相关特性(善于处理非结构、半结构化数据、复杂的ETL流程、复杂的数据挖掘和计算模型等),衍生出相关大数据技术的过程。
伴随着技术进步,其应用场景也将逐步扩大,目前最为典型的应用场景:经过扩展和封装 Hadoop来实现对互联网大数据存储、分析的支撑,其中涉及了几十种NoSQL技术。
三、大数据一体机
这是一种专为大数据的分析处理而设计的软、硬件结合的产品。它由一组集成的服务器、存储设备、操做系统、数据库管理系统,以及为数据查询、处理、分析而预安装和优化的软件组成,具备良好的稳定性和纵向扩展性。
4、大数据分析挖掘
从可视化分析、数据挖掘算法、预测性分析、语义引擎、数据质量管理等方面,对杂乱无章的数据,进行萃取、提炼和分析的过程。
一、可视化分析
可视化分析,指借助图形化手段,清晰并有效传达与沟通讯息的分析手段。主要应用于海量数据关联分析,即借助可视化数据分析平台,对分散异构数据进行关联分析,并作出完整分析图表的过程。
FineBI可视化
二、数据挖掘算法
数据挖掘算法,即经过建立数据挖掘模型,而对数据进行试探和计算的,数据分析手段。它是大数据分析的理论核心。
数据挖掘算法多种多样,且不一样算法因基于不一样的数据类型和格式,会呈现出不一样的数据特色。但通常来说,建立模型的过程倒是类似的,即首先分析用户提供的数据,而后针对特定类型的模式和趋势进行查找,并用分析结果定义建立挖掘模型的最佳参数,并将这些参数应用于整个数据集,以提取可行模式和详细统计信息。
三、预测性分析
预测性分析,是大数据分析最重要的应用领域之一,经过结合多种高级分析功能(特别统计分析、预测建模、数据挖掘、文本分析、实体分析、优化、实时评分、机器学习等),达到预测不肯定事件的目的。
帮助分用户析结构化和非结构化数据中的趋势、模式和关系,并运用这些指标来预测未来事件,为采起措施提供依据。
四、语义引擎
语义引擎,指经过为已有数据添加语义的操做,提升用户互联网搜索体验。
五、数据质量管理
指对数据全生命周期的每一个阶段(计划、获取、存储、共享、维护、应用、消亡等)中可能引起的各种数据质量问题,进行识别、度量、监控、预警等操做,以提升数据质量的一系列管理活动。
————————分割线————————
以上是从大的方面来说,具体来讲大数据的框架技术有不少,这里列举其中一些:
文件存储:Hadoop HDFS、Tachyon、KFS
离线计算:Hadoop MapReduce、Spark
流式、实时计算:Storm、Spark Streaming、S四、Heron
K-V、NOSQL数据库:HBase、Redis、MongoDB
资源管理:YARN、Mesos
日志收集:Flume、Scribe、Logstash、Kibana
消息系统:Kafka、StormMQ、ZeroMQ、RabbitMQ
查询分析:Hive、Impala、Pig、Presto、Phoenix、SparkSQL、Drill、Flink、Kylin、Druid
分布式协调服务:Zookeeper
集群管理与监控:Ambari、Ganglia、Nagios、Cloudera Manager
数据挖掘、机器学习:Mahout、Spark MLLib
数据同步:Sqoop
任务调度:Oozie
·····