首頁>Club>
7
回覆列表
  • 1 # 科技材料製造

    大資料的技術

    大資料技術包括:

    1)資料採集: ETL工具負責將分佈的、異構資料來源中的資料如關係資料、平面資料檔案等抽取到臨時中間層後進行清洗、轉換、整合,最後載入到資料倉庫或資料集市中,成為聯機分析處理、資料探勘的基礎。

    2)資料存取: 關係資料庫、NOSQL、SQL等。

    3)基礎架構: 雲端儲存、分散式檔案儲存等。

    4)資料處理: 自然語言處理(NLP,Natural Language Processing)是研究人與計算機互動的語言問題的一門學科。處理自然語言的關鍵是要讓計算機”理解”自然語言,所以自然語言處理又叫做自然語言理解也稱為計算語言學。一方面它是語言資訊處理的一個分支,另一方面它是人工智慧的核心課題之一。

    5)統計分析: 假設檢驗、顯著性檢驗、差異分析、相關分析、T檢驗、 方差分析 、 卡方分析、偏相關分析、距離分析、迴歸分析、簡單迴歸分析、多元迴歸分析、逐步迴歸、迴歸預測與殘差分析、嶺迴歸、logistic迴歸分析、曲線估計、 因子分析、聚類分析、主成分分析、因子分析、快速聚類法與聚類法、判別分析、對應分析、多元對應分析(最優尺度分析)、bootstrap技術等等。

    6)資料探勘: 分類 (Classification)、估計(Estimation)、預測(Prediction)、相關性分組或關聯規則(Affinity grouping or association rules)、聚類(Clustering)、描述和視覺化、Description and Visualization)、複雜資料型別挖掘(Text, Web ,圖形影象,影片,音訊等)模型預測 :預測模型、機器學習、建模模擬。7)結果呈現: 雲計算、標籤雲、關係圖等。

    在搭建大資料分析平臺之前,要先明確業務需求場景以及使用者的需求,透過大資料分析平臺,想要得到哪些有價值的資訊,需要接入的資料有哪些,明確基於場景業務需求的大資料平臺要具備的基本的功能,來決定平臺搭建過程中使用的大資料處理工具和框架。(1)作業系統的選擇

    作業系統一般使用開源版的RedHat、Centos或者Debian作為底層的構建平臺,要根據大資料平臺所要搭建的資料分析工具可以支援的系統,正確的選擇作業系統的版本。

    (2)搭建Hadoop叢集

    Hadoop作為一個開發和執行處理大規模資料的軟體平臺,實現了在大量的廉價計算機組成的叢集中對海量資料進行分散式計算。Hadoop框架中最核心的設計是HDFS和MapReduce,HDFS是一個高度容錯性的系統,適合部署在廉價的機器上,能夠提供高吞吐量的資料訪問,適用於那些有著超大資料集的應用程式;MapReduce是一套可以從海量的資料中提取資料最後返回結果集的程式設計模型。在生產實踐應用中,Hadoop非常適合應用於大資料儲存和大資料的分析應用,適合服務於幾千臺到幾萬臺大的伺服器的叢集執行,支援PB級別的儲存容量。

    (3)選擇資料接入和預處理工具

    面對各種來源的資料,資料接入就是將這些零散的資料整合在一起,綜合起來進行分析。資料接入主要包括檔案日誌的接入、資料庫日誌的接入、關係型資料庫的接入和應用程式等的接入,資料接入常用的工具有Flume,Logstash,NDC(網易資料運河系統),sqoop等。對於實時性要求比較高的業務場景,比如對存在於社交網站、新聞等的資料資訊流需要進行快速的處理反饋,那麼資料的接入可以使用開源的Strom,Spark streaming等。

    資料預處理是在海量的資料中提取出可用特徵,建立寬表,建立資料倉庫,會使用到HiveSQL,SparkSQL和Impala等工具。隨著業務量的增多,需要進行訓練和清洗的資料也會變得越來越複雜,可以使用azkaban或者oozie作為工作流排程引擎,用來解決有多個hadoop或者spark等計算任務之間的依賴關係問題。

    (4)資料儲存

    除了Hadoop中已廣泛應用於資料儲存的HDFS,常用的還有分散式、面向列的開源資料庫Hbase,HBase是一種key/value系統,部署在HDFS上,與Hadoop一樣,HBase的目標主要是依賴橫向擴充套件,透過不斷的增加廉價的商用伺服器,增加計算和儲存能力。同時hadoop的資源管理器Yarn,可以為上層應用提供統一的資源管理和排程,為叢集在利用率、資源統一等方面帶來巨大的好處。

    (5)選擇資料探勘工具

    Hive可以將結構化的資料對映為一張資料庫表,並提供HQL的查詢功能,它是建立在Hadoop之上的資料倉庫基礎架構,是為了減少MapReduce編寫工作的批處理系統,它的出現可以讓那些精通SQL技能、但是不熟悉MapReduce、程式設計能力較弱和不擅長Java的使用者能夠在HDFS大規模資料集上很好的利用SQL語言查詢、彙總、分析資料。Impala是對Hive的一個補充,可以實現高效的SQL查詢,但是Impala將整個查詢過程分成了一個執行計劃樹,而不是一連串的MapReduce任務,相比Hive有更好的併發性和避免了不必要的中間sort和shuffle。

    可以對資料進行建模分析,會用到機器學習相關的知識,常用的機器學習演算法,比如貝葉斯、邏輯迴歸、決策樹、神經網路、協同過濾等。

    (6)資料的視覺化以及輸出API

    對於處理得到的資料可以對接主流的BI系統,比如國外的Tableau、Qlikview、PowrerBI等,國內的SmallBI和新興的網易有數(可免費試用)等,將結果進行視覺化,用於決策分析;或者回流到線上,支援線上業務的發展。

    二、大資料分析

    1.視覺化分析

    大資料分析的使用者有大資料分析專家,同時還有普通使用者,但是他們二者對於大資料分析最基本的要求就是視覺化分析,因為視覺化分析能夠直觀的呈現大資料特點,同時能夠非常容易被讀者所接受,就如同看圖說話一樣簡單明瞭。

    2. 資料探勘演算法

    大資料分析的理論核心就是資料探勘演算法,各種資料探勘的演算法基於不同的資料型別和格式才能更加科學的呈現出資料本身具備的特點,也正是因為這些被全世界統計 學家所公認的各種統計方法(可以稱之為真理)才能深入資料內部,挖掘出公認的價值。另外一個方面也是因為有這些資料探勘的演算法才能更快速的處理大資料,如 果一個演算法得花上好幾年才能得出結論,那大資料的價值也就無從說起了。

    3. 預測性分析

    大資料分析最終要的應用領域之一就是預測性分析,從大資料中挖掘出特點,透過科學的建立模型,之後便可以透過模型帶入新的資料,從而預測未來的資料。

    4. 語義引擎

    非結構化資料的多元化給資料分析帶來新的挑戰,我們需要一套工具系統的去分析,提煉資料。語義引擎需要設計到有足夠的人工智慧以足以從資料中主動地提取資訊。

    5.資料質量和資料管理

    大資料分析離不開資料質量和資料管理,高質量的資料和有效的資料管理,無論是在學術研究還是在商業應用領域,都能夠保證分析結果的真實和有價值。大資料分析的基礎就是以上五個方面,當然更加深入大資料分析的話,還有很多很多更加有特點的、更加深入的、更加專業的大資料分析方法。

    三、資料處理

    1. 大資料處理之一

    採集大資料的採集是指利用多個數據庫來接收發自客戶端(Web、App或者感測器形式等)的 資料,並且使用者可以透過這些資料庫來進行簡單的查詢和處理工作。比如,電商會使用傳統的關係型資料庫MySQL和Oracle等來儲存每一筆事務資料,除 此之外,Redis和MongoDB這樣的NoSQL資料庫也常用於資料的採集。在大資料的採集過程中,其主要特點和挑戰是併發數高,因為同時有可能會有成千上萬的使用者 來進行訪問和操作,比如火車票售票網站和淘寶,它們併發的訪問量在峰值時達到上百萬,所以需要在採集端部署大量資料庫才能支撐。並且如何在這些資料庫之間 進行負載均衡和分片的確是需要深入的思考和設計。

    2. 大資料處理之二

    匯入/預處理雖然採集端本身會有很多資料庫,但是如果要對這些海量資料進行有效的分析,還是應該將這 些來自前端的資料匯入到一個集中的大型分散式資料庫,或者分散式儲存叢集,並且可以在匯入基礎上做一些簡單的清洗和預處理工作。也有一些使用者會在匯入時使 用來自Twitter的Storm來對資料進行流式計算,來滿足部分業務的實時計算需求。匯入與預處理過程的特點和挑戰主要是匯入的資料量大,每秒鐘的匯入量經常會達到百兆,甚至千兆級別。

    3. 大資料處理之三

    統計/分析統計與分析主要利用分散式資料庫,或者分散式計算叢集來對儲存於其內的海量資料進行普通 的分析和分類彙總等,以滿足大多數常見的分析需求,在這方面,一些實時性需求會用到EMC的GreenPlum、Oracle的Exadata,以及基於 MySQL的列式儲存Infobright等,而一些批處理,或者基於半結構化資料的需求可以使用Hadoop。統計與分析這部分的主要特點和挑戰是分析涉及的資料量大,其對系統資源,特別是I/O會有極大的佔用。

    4. 大資料處理之四

    挖掘與前面統計和分析過程不同的是,資料探勘一般沒有什麼預先設定好的主題,主要是在現有數 據上面進行基於各種演算法的計算,從而起到預測(Predict)的效果,從而實現一些高級別資料分析的需求。比較典型演算法有用於聚類的Kmeans、用於 統計學習的SVM和用於分類的NaiveBayes,主要使用的工具有Hadoop的Mahout等。該過程的特點和挑戰主要是用於挖掘的演算法很複雜,並 且計算涉及的資料量和計算量都很大,常用資料探勘演算法都以單執行緒為主。

  • 中秋節和大豐收的關聯?
  • 哪些土地存在集體土地使用權?如何取得集體土地使用權?