說起大數據,很多人都能聊上一會,但要是問大數據核心技術有哪些,估計很多人就說不上一二來了。
從機器學習到數據可視化,大數據發展至今已經擁有了一套相當成熟的技術樹,不同的技術層面有著不同的技術架構,而且每年還會涌現出新的技術名詞。面對如此龐雜的技術架構,很多第一次接觸大數據的小白幾乎都是望而生畏的。
其實想要知道大數據有哪些核心技術很簡單,無非三個過程:取數據、算數據、用數據。這么說可能還是有人覺得太空泛,簡單來說從大數據的生命周期來看,無外乎四個方面:大數據采集、大數據預處理、大數據存儲、大數據分析,共同組成了大數據生命周期里最核心的技術,下面分開來說:
大數據采集,即對各種來源的結構化和非結構化海量數據,所進行的采集。
數據采集的生命周期
大數據預處理,指的是在進行數據分析之前,先對采集到的原始數據所進行的諸如“清洗、填補、平滑、合并、規格化、一致性檢驗”等一系列操作,旨在提高數據質量,為后期分析工作奠定基礎。數據預處理主要包括四個部分:數據清理、數據集成、數據轉換、數據規約。
大數據預處理
大數據存儲,指用存儲器,以數據庫的形式,存儲采集到的數據的過程,包含三種典型路線:
1、基于MPP架構的新型數據庫集群
采用Shared Nothing架構,結合MPP架構的高效分布式計算模式,通過列存儲、粗粒度索引等多項大數據處理技術,重點面向行業大數據所展開的數據存儲方式。具有低成本、高性能、高擴展性等特點,在企業分析類應用領域有著廣泛的應用。
較之傳統數據庫,其基于MPP產品的PB級數據分析能力,有著顯著的優越性。自然,MPP數據庫,也成為了企業新一代數據倉庫的最佳選擇。
2、基于Hadoop的技術擴展和封裝
基于Hadoop的技術擴展和封裝,是針對傳統關系型數據庫難以處理的數據和場景(針對非結構化數據的存儲和計算等),利用Hadoop開源優勢及相關特性(善于處理非結構、半結構化數據、復雜的ETL流程、復雜的數據挖掘和計算模型等),衍生出相關大數據技術的過程。
伴隨著技術進步,其應用場景也將逐步擴大,目前最為典型的應用場景:通過擴展和封裝 Hadoop來實現對互聯網大數據存儲、分析的支撐,其中涉及了幾十種NoSQL技術。
3、大數據一體機
這是一種專為大數據的分析處理而設計的軟、硬件結合的產品。它由一組集成的服務器、存儲設備、操作系統、數據庫管理系統,以及為數據查詢、處理、分析而預安裝和優化的軟件組成,具有良好的穩定性和縱向擴展性。
大數據存儲
從可視化分析、數據挖掘算法、預測性分析、語義引擎、數據質量管理等方面,對雜亂無章的數據,進行萃取、提煉和分析的過程。
1、可視化分析
可視化分析,指借助圖形化手段,清晰并有效傳達與溝通信息的分析手段。主要應用于海量數據關聯分析,即借助可視化數據分析平臺,對分散異構數據進行關聯分析,并做出完整分析圖表的過程。
具有簡單明了、清晰直觀、易于接受的特點。
FineBI可視化
2、數據挖掘算法
數據挖掘算法,即通過創建數據挖掘模型,而對數據進行試探和計算的,數據分析手段。它是大數據分析的理論核心。
數據挖掘算法多種多樣,且不同算法因基于不同的數據類型和格式,會呈現出不同的數據特點。但一般來講,創建模型的過程卻是相似的,即首先分析用戶提供的數據,然后針對特定類型的模式和趨勢進行查找,并用分析結果定義創建挖掘模型的最佳參數,并將這些參數應用于整個數據集,以提取可行模式和詳細統計信息。
FineBI的數據挖掘功能
3、預測性分析
預測性分析,是大數據分析最重要的應用領域之一,通過結合多種高級分析功能(特別統計分析、預測建模、數據挖掘、文本分析、實體分析、優化、實時評分、機器學習等),達到預測不確定事件的目的。
幫助分用戶析結構化和非結構化數據中的趨勢、模式和關系,并運用這些指標來預測將來事件,為采取措施提供依據。
FineBI預測回歸
4、語義引擎
語義引擎,指通過為已有數據添加語義的操作,提高用戶互聯網搜索體驗。
5、數據質量管理
指對數據全生命周期的每個階段(計劃、獲取、存儲、共享、維護、應用、消亡等)中可能引發的各類數據質量問題,進行識別、度量、監控、預警等操作,以提高數據質量的一系列管理活動。
以上是從大的方面來講,具體來說大數據的框架技術有很多,這里列舉其中一些:
文件存儲:Hadoop HDFS、Tachyon、KFS
離線計算:Hadoop MapReduce、Spark
流式、實時計算:Storm、Spark Streaming、S4、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
······