最系統(tǒng)的大數(shù)據(jù)技術盤點,學會一半就是數(shù)據(jù)大牛
說起大數(shù)據(jù),很多人都能聊上一會,但要是問大數(shù)據(jù)核心技術有哪些,估計很多人就說不上一二來了。
從機器學習到數(shù)據(jù)可視化,大數(shù)據(jù)發(fā)展至今已經(jīng)擁有了一套相當成熟的技術樹,不同的技術層面有著不同的技術架構(gòu),而且每年還會涌現(xiàn)出新的技術名詞。面對如此龐雜的技術架構(gòu),很多第一次接觸大數(shù)據(jù)的小白幾乎都是望而生畏的。
其實想要知道大數(shù)據(jù)有哪些核心技術很簡單,無非三個過程:取數(shù)據(jù)、算數(shù)據(jù)、用數(shù)據(jù)。這么說可能還是有人覺得太空泛,簡單來說從大數(shù)據(jù)的生命周期來看,無外乎四個方面:大數(shù)據(jù)采集、大數(shù)據(jù)預處理、大數(shù)據(jù)存儲、大數(shù)據(jù)分析,共同組成了大數(shù)據(jù)生命周期里最核心的技術,下面分開來說:
一、大數(shù)據(jù)采集
大數(shù)據(jù)采集,即對各種來源的結(jié)構(gòu)化和非結(jié)構(gòu)化海量數(shù)據(jù),所進行的采集。
- 數(shù)據(jù)庫采集:流行的有Sqoop和ETL,傳統(tǒng)的關系型數(shù)據(jù)庫MySQL和Oracle 也依然充當著許多企業(yè)的數(shù)據(jù)存儲方式。當然了,目前對于開源的Kettle和Talend本身,也集成了大數(shù)據(jù)集成內(nèi)容,可實現(xiàn)hdfs,hbase和主流Nosq數(shù)據(jù)庫之間的數(shù)據(jù)同步和集成。
- 網(wǎng)絡數(shù)據(jù)采集:一種借助網(wǎng)絡爬蟲或網(wǎng)站公開API,從網(wǎng)頁獲取非結(jié)構(gòu)化或半結(jié)構(gòu)化數(shù)據(jù),并將其統(tǒng)一結(jié)構(gòu)化為本地數(shù)據(jù)的數(shù)據(jù)采集方式。
- 文件采集:包括實時文件采集和處理技術flume、基于ELK的日志采集和增量采集等等。
數(shù)據(jù)采集的生命周期
二、大數(shù)據(jù)預處理
大數(shù)據(jù)預處理,指的是在進行數(shù)據(jù)分析之前,先對采集到的原始數(shù)據(jù)所進行的諸如“清洗、填補、平滑、合并、規(guī)格化、一致性檢驗”等一系列操作,旨在提高數(shù)據(jù)質(zhì)量,為后期分析工作奠定基礎。數(shù)據(jù)預處理主要包括四個部分:數(shù)據(jù)清理、數(shù)據(jù)集成、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)規(guī)約。
大數(shù)據(jù)預處理
- 數(shù)據(jù)清理:指利用ETL等清洗工具,對有遺漏數(shù)據(jù)(缺少感興趣的屬性)、噪音數(shù)據(jù)(數(shù)據(jù)中存在著錯誤、或偏離期望值的數(shù)據(jù))、不一致數(shù)據(jù)進行處理。
- 數(shù)據(jù)集成:是指將不同數(shù)據(jù)源中的數(shù)據(jù),合并存放到統(tǒng)一數(shù)據(jù)庫的,存儲方法,著重解決三個問題:模式匹配、數(shù)據(jù)冗余、數(shù)據(jù)值沖突檢測與處理。
- 數(shù)據(jù)轉(zhuǎn)換:是指對所抽取出來的數(shù)據(jù)中存在的不一致,進行處理的過程。它同時包含了~數(shù)據(jù)清洗的工作,即根據(jù)業(yè)務規(guī)則對異常數(shù)據(jù)進行清洗,以保證后續(xù)分析結(jié)果準確性
- 數(shù)據(jù)規(guī)約:是指在最大限度保持數(shù)據(jù)原貌的基礎上,最大限度精簡數(shù)據(jù)量,以得到較小數(shù)據(jù)集的操作,包括:數(shù)據(jù)方聚集、維規(guī)約、數(shù)據(jù)壓縮、數(shù)值規(guī)約、概念分層等。
三、大數(shù)據(jù)存儲
大數(shù)據(jù)存儲,指用存儲器,以數(shù)據(jù)庫的形式,存儲采集到的數(shù)據(jù)的過程,包含三種典型路線:
1、基于MPP架構(gòu)的新型數(shù)據(jù)庫集群
采用Shared Nothing架構(gòu),結(jié)合MPP架構(gòu)的高效分布式計算模式,通過列存儲、粗粒度索引等多項大數(shù)據(jù)處理技術,重點面向行業(yè)大數(shù)據(jù)所展開的數(shù)據(jù)存儲方式。具有低成本、高性能、高擴展性等特點,在企業(yè)分析類應用領域有著廣泛的應用。
較之傳統(tǒng)數(shù)據(jù)庫,其基于MPP產(chǎn)品的PB級數(shù)據(jù)分析能力,有著顯著的優(yōu)越性。自然,MPP數(shù)據(jù)庫,也成為了企業(yè)新一代數(shù)據(jù)倉庫的最佳選擇。
2、基于Hadoop的技術擴展和封裝
基于Hadoop的技術擴展和封裝,是針對傳統(tǒng)關系型數(shù)據(jù)庫難以處理的數(shù)據(jù)和場景(針對非結(jié)構(gòu)化數(shù)據(jù)的存儲和計算等),利用Hadoop開源優(yōu)勢及相關特性(善于處理非結(jié)構(gòu)、半結(jié)構(gòu)化數(shù)據(jù)、復雜的ETL流程、復雜的數(shù)據(jù)挖掘和計算模型等),衍生出相關大數(shù)據(jù)技術的過程。
伴隨著技術進步,其應用場景也將逐步擴大,目前最為典型的應用場景:通過擴展和封裝 Hadoop來實現(xiàn)對互聯(lián)網(wǎng)大數(shù)據(jù)存儲、分析的支撐,其中涉及了幾十種NoSQL技術。
3、大數(shù)據(jù)一體機
這是一種專為大數(shù)據(jù)的分析處理而設計的軟、硬件結(jié)合的產(chǎn)品。它由一組集成的服務器、存儲設備、操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng),以及為數(shù)據(jù)查詢、處理、分析而預安裝和優(yōu)化的軟件組成,具有良好的穩(wěn)定性和縱向擴展性。
四、大數(shù)據(jù)分析挖掘
從可視化分析、數(shù)據(jù)挖掘算法、預測性分析、語義引擎、數(shù)據(jù)質(zhì)量管理等方面,對雜亂無章的數(shù)據(jù),進行萃取、提煉和分析的過程。
1、可視化分析
可視化分析,指借助圖形化手段,清晰并有效傳達與溝通信息的分析手段。主要應用于海量數(shù)據(jù)關聯(lián)分析,即借助可視化數(shù)據(jù)分析平臺,對分散異構(gòu)數(shù)據(jù)進行關聯(lián)分析,并做出完整分析圖表的過程。
具有簡單明了、清晰直觀、易于接受的特點。
FineBI可視化
2、數(shù)據(jù)挖掘算法
數(shù)據(jù)挖掘算法,即通過創(chuàng)建數(shù)據(jù)挖掘模型,而對數(shù)據(jù)進行試探和計算的,數(shù)據(jù)分析手段。它是大數(shù)據(jù)分析的理論核心。
數(shù)據(jù)挖掘算法多種多樣,且不同算法因基于不同的數(shù)據(jù)類型和格式,會呈現(xiàn)出不同的數(shù)據(jù)特點。但一般來講,創(chuàng)建模型的過程卻是相似的,即首先分析用戶提供的數(shù)據(jù),然后針對特定類型的模式和趨勢進行查找,并用分析結(jié)果定義創(chuàng)建挖掘模型的最佳參數(shù),并將這些參數(shù)應用于整個數(shù)據(jù)集,以提取可行模式和詳細統(tǒng)計信息。
3、預測性分析
預測性分析,是大數(shù)據(jù)分析最重要的應用領域之一,通過結(jié)合多種高級分析功能(特別統(tǒng)計分析、預測建模、數(shù)據(jù)挖掘、文本分析、實體分析、優(yōu)化、實時評分、機器學習等),達到預測不確定事件的目的。
幫助分用戶析結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)中的趨勢、模式和關系,并運用這些指標來預測將來事件,為采取措施提供依據(jù)。
FineBI預測回歸
4、語義引擎
語義引擎,指通過為已有數(shù)據(jù)添加語義的操作,提高用戶互聯(lián)網(wǎng)搜索體驗。
5、數(shù)據(jù)質(zhì)量管理
指對數(shù)據(jù)全生命周期的每個階段(計劃、獲取、存儲、共享、維護、應用、消亡等)中可能引發(fā)的各類數(shù)據(jù)質(zhì)量問題,進行識別、度量、監(jiān)控、預警等操作,以提高數(shù)據(jù)質(zhì)量的一系列管理活動。
以上是從大的方面來講,具體來說大數(shù)據(jù)的框架技術有很多,這里列舉其中一些:
文件存儲:Hadoop HDFS、Tachyon、KFS
離線計算:Hadoop MapReduce、Spark
流式、實時計算:Storm、Spark Streaming、S4、Heron
K-V、NOSQL數(shù)據(jù)庫:HBase、Redis、MongoDB
資源管理:YARN、Mesos
日志收集:Flume、Scribe、Logstash、Kibana
消息系統(tǒng):Kafka、StormMQ、ZeroMQ、RabbitMQ
查詢分析:Hive、Impala、Pig、Presto、Phoenix、SparkSQL、Drill、Flink、Kylin、Druid
分布式協(xié)調(diào)服務:Zookeeper
集群管理與監(jiān)控:Ambari、Ganglia、Nagios、Cloudera Manager
數(shù)據(jù)挖掘、機器學習:Mahout、Spark MLLib
數(shù)據(jù)同步:Sqoop
任務調(diào)度:Oozie





























