云計算與大數據(第二版)“大數據”關鍵技術與應用_第1頁
云計算與大數據(第二版)“大數據”關鍵技術與應用_第2頁
云計算與大數據(第二版)“大數據”關鍵技術與應用_第3頁
云計算與大數據(第二版)“大數據”關鍵技術與應用_第4頁
云計算與大數據(第二版)“大數據”關鍵技術與應用_第5頁
已閱讀5頁,還剩100頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

云計算與大數據第2版大數據關鍵技術與應用3.1大數據技術總體框架3.3大數據存儲技術3.5大數據分析技術3.6大數據可視化技術3.2大數據采集與預處理技術3.4大數據處理技術重點:大數據采集與預處理大數據存儲技術大數據處理技術大數據分析技術大數據可視化技術本章重點云計算是新的商業模式。大數據的本質是應需求驅動的,大數據的應用最終使云計算模式落地。大數據來源于互聯網、企業系統和物聯網等信息系統,經過大數據處理系統的分析挖掘,產生新的知識用以支撐決策或業務的自動智能化運轉。大數據對數據存儲、處理和分析三個環節影響較大,需要對技術架構和算法進行重構,是當前和未來一段時間大數據技術創新的焦點。3.1大數據技術總體框架3.1.1總體目標

業務環節業務需求技術實現產生大數據操作數據容量:每18個月翻一番數據類型:多于80%的數據來自于非機構化數據數據速度:數據來源不斷變化,數據快速流通采用一個統一的大數據處理方法,使得企業用戶能夠快速處理和加載海量數據,能夠在統一平臺上對不同類型的數據進行處理和存儲聚集管理大數據的復雜性,需要分類、同步、聚合、集成、共享、轉換、剖析、遷移、壓縮、備份、保護、恢復、清洗、淘汰各種類型數據一個數據集成和管理平臺,集成各種工具和服務來管理異構存儲環境下的各類數據分析當前數據倉庫和數據挖掘擅長分析結構化的事后數據,在大數據環境下要求能夠分析非結構化數據,包括流文件,并能進行實時分析和預測建立一個實時預測分析解決方案,整合結構化的數據倉庫和非結構化的分析工具利用滿足不同的用戶對大數據的實時的多種訪問方式任何時間、任何地點、任何設備上的集中共享和協同需要理解大數據怎樣影響業務,怎樣轉化為行動對大數據影響業務和戰略進行建模,并利用技術來實現這些模型3.1.2架構設計原則

3.1.3總體架構的特點大數據技術架構具備集成性、架構先進性和實時性等特點。1.統一、開發、集成的大數據平臺可基于開源軟件實現Hadoop基礎工具的整合;能與關系型數據庫、數據倉庫通過JDBC/ODBC連接器進行連接;能支持地理分布的在線用戶和程序,并行執行從查詢到戰略分析的請求;用戶友好的管理平臺,包括HDFS瀏覽器和類SQL查詢語言等;提供服務、存儲、調度和高級安全等企業級應用的功能。2.低成本的可擴展性支持大規??蓴U展性,到PB級數據源;支持極大的混合工具負載,各種數據類型包括任意層次的數據結構、圖像、日志等;節點間無共享(sharing-nothing)的集群數據庫體系結構;可編程和可擴展的應用服務器;簡單的配置、開發和管理;以線性成本擴展并提供一致的性能;標準的普通硬件。3.實時地分析執行在聲明或發現數據結構之前裝載數據;能以數據全載入的速度來準確更新數據;可調度和執行復雜的幾百個節點的工作流;在剛裝載的數據上,可實時執行流分析查詢;能以大于每秒1GB的速率來分析數據。4.可靠性當處理節點失效時,自動恢復并保持流程連續,不需要中斷操作。3.2.1大數據來源與采集3.2.2大數據采集工具3.2.3數據準備3.2大數據采集與預處理3.2.1大數據來源與采集1大數據來源從數據采集的來源看,目前大數據的主要數據來源有三個途徑,分別是物聯網系統、互聯網Web系統和傳統信息系統。物聯網的數據占據了整個大數據百分之九十以上的份額,可以說沒有物聯網就沒有大數據。物聯網的數據大部分是非結構化數據和半結構化數據。Web系統是另一個重要的數據采集渠道,隨著Web2.0的發展,整個Web系統涵蓋了大量的價值化數據,而且這些數據與物聯網的數據不同,Web系統的數據往往是結構化數據,而且數據的價值密度比較高、傳統信息系統也是大數據的一個數據來源,雖然傳統信息系統的數據占比較小,但是由于傳統信息系統的數據結構清晰,同時具有較高的可靠性,所以傳統信息系統的數據往往也是價值密度最高的。

2大數據采集技術

數據采集分類

傳統的數據采集(DataAcQuisition,DAQ):又稱數據獲取,是指從傳感器和其它待測設備等模擬和數字被測單元中自動采集信息的過程。按采集頻率分,可分為靜態數據采集、低頻數據采集和高頻數據采集;按采集結構分,可分為結構化數據采集、半結構化數據采集和非結構化數據采集;按采集方式分,可分為定時采集和實時采集。大數據的數據采集的來源廣泛,數據量巨大,數據類型豐富,包括結構化,半結構化,非結構化類型的數據,多采用分布式數據庫技術存儲與處理。不同結構類型數據的適用技術對比見表所示。1)系統日志采集方法很多互聯網企業都有自己的海量數據采集工具,多用于系統日志采集,如Hadoop的Flume,Kafka以及Sqoop等,這些工具均采用分布式架構,能滿足每秒數百MB的日志數據采集和傳輸需求。2)網絡數據采集方法網絡數據采集是指通過網絡爬蟲或網站公開API等方式從網站上獲取數據信息。該方法可以將非結構化數據從網頁中抽取出來,將其存儲為統一的本地數據文件,并以結構化的方式存儲。它支持圖片、音頻、視頻等文件或附件的采集,附件與正文可以自動關聯。除了網絡中包含的內容之外,對于網絡流量的采集可以使用DPI或DFI等帶寬管理技術進行處理。3)數據庫采集系統企業不斷產生的業務數據會直接寫入數據庫,通過數據庫采集系統可直接與企業業務后臺服務器結合,能根據分析需求采集數據并進行針對性的分析。

2大數據采集技術

3.2.2大數據采集工具1網絡爬蟲網絡爬蟲是一個自動下載網頁資源的程序,它根據既定的抓取目標,有選擇地訪問萬維網上與目標相關的網頁鏈接,獲取所需要的網頁信息。與搜索引擎不同,爬蟲并不太追求大的覆蓋,而是將目標定位為抓取與某一個特定主體內容相關的網頁,為面向主題的用戶查詢準備數據資源。通用爬蟲框架的工作流程:步驟1:確定種子URL,并存入待抓取的URL列表;步驟2:從待抓取的URL列表中隨機提取一個URL,發送到URL下載器;步驟3:URL下載器開始下載頁面,如果下載成功,將頁面發送給URL解析器,同時把URL存入已抓取的URL列表;如果下載失敗,將URL重新存入待抓取的URL列表,重復步驟2;步驟4:URL解析器開始解析頁面,將獲得的新的URL存入待抓取的URL列表,同時將需要的、有價值的數據存入數據庫;步驟5:重復步驟2至步驟4,直到待抓取的URL列表為空。

2.2.1網絡爬蟲

1.認識網頁結構爬蟲代碼解析

2.2.1網絡爬蟲

網絡爬蟲

3.2.2其他數據采集工具1.FlumeFlume是Apache旗下的一款開源的、高可用的,高可靠的,分布式的海量日志采集、聚合和傳輸的系統,Flume支持在日志系統中定制各類數據發送方,用于收集數據;同時,Flume提供對數據進行簡單處理,并寫到各種數據接受方(可定制)的能力。Flume的工作原理類似于一節一節的水管(Agent),每個Agent由Source、Channel、Sink三個組件組成。2.KafkaKafka是Apache軟件基金會旗下的一個開源流處理平臺,由Scala和Java編寫,是一種高吞吐量的分布式發布訂閱消息系統,它可以水平擴展,高可用,速度快,已經運行在數千家公司的生產環境中。Kafka可以處理消費者在網站中的所有動作流數據,這些動作涵蓋了網頁瀏覽,搜索和其他用戶的行動等,是完成網絡上的許多社會功能的必然行為。這些行為數據通常因為吞吐量的要求需通過處理日志和日志聚合來解決。3.2.2其他數據采集工具3.SqoopSqoop(發音:skup)是Apache軟件基金會旗下的一款開源工具,主要用于在Hadoop(Hive)與傳統的數據庫(MySQL、Postgres等)間進行數據的傳遞。它可以將一個關系型數據庫(例如:MySQL、Oracle、Postgres等)中的數據導進到Hadoop的HDFS中,也可以將HDFS的數據導進到關系型數據庫中。3.2.3數據準備經過數據采集階段后,我們根據大數據應用的需求采集了大量的數據,但是現實世界的數據很多是“臟”數據,即存在不完整(缺少屬性值或僅僅包含聚集數據)、含噪聲(包含錯誤或存在偏離期望的離群值等錯誤數據)、不一致(不同采集源得到的數據可能存在量綱不同、屬性含義不同等問題)等。而我們在使用數據過程中對數據有一致性、準確性、完整性、時效性、可信性、可解釋性等要求。如何將這些“臟”數據有效地轉換成高質量的專家數據,就涉及到數據準備(DataPreparation)工作,有統計表明,在一個完整的大數據分析與數據挖掘過程中,數據準備工作要花費60%-70%的時間。在數據準備階段采用的技術數據清洗數據集成數據轉換數據規約2.3數據準備1數據清洗數據清洗(DataCleaning)過程包括遺漏數據處理,噪聲數據處理,以及不一致數據處理。1.1.遺漏數據處理1)忽略該條記錄2)手工填補遺漏值3)利用默認值填補遺漏值4)利用均值填補遺漏值5)利用同類別均值填補遺漏值6)利用最可能的值填補遺漏值2)聚類分析方法通過聚類分析方法可幫助發現異常數據。相似或相鄰近的數據聚合在一起形成了各個聚類集合,而那些位于這些聚類集合之外的數據對象,自然而然就被認為是異常數據。1數據清洗2.噪聲數據處理噪聲是指被測變量的一個隨機錯誤和變化。下面通過給定一個數值型屬性(如價格)來說明平滑去噪的具體方法。1)分箱方法Bin方法通過利用應被平滑數據點的周圍點(近鄰),對一組排序數據進行平滑。排序后的數據被分配到若干桶(稱為Bins)中。1數據清洗3)人機結合檢查方法通過人機結合檢查方法,可以幫助發現異常數據。例如,利用基于信息論的方法可幫助識別手寫符號庫中的異常模式,所識別出的異常模式可輸出到一個列表中,然后由人對這一列表中的各異常模式進行檢查,并最終確認無用的模式(真正異常的模式)。這種人機結合檢查方法比手工方法的手寫符號庫檢查效率要高許多。4)回歸方法可以利用擬合函數對數據進行平滑。例如,借助線性回歸方法,包括多變量回歸方法,就可以獲得多個變量之間的擬合關系,從而達到利用一個(或一組)變量值來預測另一個變量取值的目的。利用回歸分析方法所獲得的擬合函數,能夠幫助平滑數據及除去其中的噪聲。1數據清洗3.不一致數據處理現實世界的數據庫常岀現數據記錄內容不一致的問題,其中的一些數據可以利用它們與外部的關聯,手工解決這種問題。例如,數據錄入錯誤一般可以通過與原稿進行對比來加以糾正。此外還有一些方法可以幫助糾正使用編碼時所發生的不一致問題。知識工程工具也可以幫助發現違反數據約束條件的情況。由于同一屬性在不同數據庫中的取名不規范,常常使得在進行數據集成時,導致不一致情況的發生。1數據清洗2數據集成數據集成(DataIntegration)是將來自多個數據源的數據,如數據庫、數據立方、普通文件等,結合在一起并形成一個統一數據集合,以便為數據處理工作的順利完成提供完整的數據基礎。1.模式匹配整合不同數據源中的元數據。實體識別問題:匹配來自不同數據源的現實世界的實體,比如:A.cust-id=B.customer_no2.數據冗余同一屬性在不同的數據庫中會有不同的字段名。一個屬性可以由另外一個表導出。如:一個顧客數據表中的平均月收入屬性,它可以根據月收入屬性計算出來。有些冗余可以被相關分析檢測到。

例如,給定兩個屬性A和B,則根據這兩個屬性的數值可分析出這兩個屬性間的相互關系。如果兩個屬性之間的關聯值r>0,則說明兩個屬性之間是正關聯,也就是說,若A增加,B也增加。r值越大,說明屬性A、E的正關聯關系越緊密。

如果關聯值產0,則說明屬性A、B相互獨立,兩者之間沒有關系。如果r<0,則說明屬性A、B之間是負關聯,也就是說,若A增加,B就減少。r的絕對值越大,說明屬性A、B的負關聯關系越緊密。2數據集成3數據變換數據轉換(DataTransformation)就是將數據進行轉換或歸并,從而構成一個適合數據處理的描述形式。1.平滑處理幫助除去數據中的噪聲,主要技術方法有分箱方法、聚類方法和回歸方法。2.合計處理對數據進行總結或合計操作。例如,每天的數據經過合計操作可以獲得每月或每年的總額。這一操作常用于構造數據立方或對數據進行多粒度的分析數據值沖突對于一個現實世界實體,其來自不同數據源的屬性值或許不同。產生的原因:表示的差異、比例尺度不同、或編碼的差異等。例如:重量屬性在一個系統中采用公制,而在另一個系統中卻采用英制。同樣價格屬性不同地點采用不同貨幣單位。3數據變換1)平滑處理幫助除去數據中的噪聲,主要技術方法有分箱方法、聚類方法和回歸方法。2)合計處理對數據進行總結或合計操作。例如,每天的數據經過合計操作可以獲得每月或每年的總額。這一操作常用于構造數據立方或對數據進行多粒度的分析。3)數據泛化處理用更抽象(更高層次)的概念來取代低層次或數據層的數據對象。例如,街道屬性可以泛化到更高層次的概念,如城市、國家,數值型的屬性,如年齡屬性,可以映射到更高層次的概念,如年輕、中年和老年。4)規格化處理將有關屬性數據按比例投射到特定的數據范圍之中,以避免屬性量綱的影響。例如,將工資收入屬性值映射到0

到1

范圍內。5)屬性構造處理根據已有屬性集構造新的屬性,以幫助數據處理過程。3數據變換2)零均值規格化方法該方法是指根據一個屬性的均值和方差來對該屬性的值進行規格化。計算公式為:例如:假定屬性“顧客收入”的均值和方差分別為54000元和16000元,則“顧客收入”屬性的值為73600元時,對應的轉換結果如下。3數據變換4數據規約數據規約(DataReduction)的主要目的就是從原有巨大數據集中獲得一個精簡的數據集,并使這一精簡數據集保持原有數據集的完整性。這樣在精簡數據集上進行數據挖掘就會提高效率,并且能夠保證挖掘出來的結果與使用原有數據集所獲得的結果基本相同。3.3大數據存儲技術1.大數據時代對數據存儲的挑戰大數據存儲和傳統的數據存儲不同?!窀卟l讀寫需求:分布式數據庫必須及時響應大規模用戶的讀/寫請求,能對海量數據進行隨機讀寫●海量數據的高效率存儲和訪問需求:Web2.0網站要根據用戶個性化信息來實時生成動態頁面和提供動態信息,關系型數據庫難以存儲用戶每天產生海量的動態數據●高可擴展性:分布式數據庫必須具有高可擴展性,能夠動態地增添存儲節點以實現存儲容量的線性擴展●存儲和處理半結構化/非結構化數據需求:關系型數據庫所使用的定義嚴格、基于模式的方式是無法快速容納新的數據類型的,對于非結構化或是半結構化的數據更是無能為力分布式文件系統把文件分布存儲到多個計算機節點上,成千上萬的計算機節點構成計算機集群與之前使用多個處理器和專用高級硬件的并行化處理裝置不同的是,目前的分布式文件系統所采用的計算機集群,都是由普通硬件構成的,這就大大降低了硬件上的開銷圖

計算機集群的基本架構2.分布式文件系統分布式文件系統在物理結構上是由計算機集群中的多個節點構成的,這些節點分為兩類,一類叫“主節點”(MasterNode)或者也被稱為“名稱結點”(NameNode),另一類叫“從節點”(SlaveNode)或者也被稱為“數據節點”(DataNode)圖

大規模文件系統的整體結構HDFS默認一個塊64MB,一個文件被分成多個塊,以塊作為存儲單位塊的大小遠遠大于普通文件系統,可以最小化尋址開銷。HDFS采用抽象的塊概念可以帶來以下幾個明顯的好處:●支持大規模文件存儲:文件以塊為單位進行存儲,一個大規模文件可以被分拆成若干個文件塊,不同的文件塊可以被分發到不同的節點上,因此,一個文件的大小不會受到單個節點的存儲容量的限制,可以遠遠大于網絡中任意節點的存儲容量●簡化系統設計:首先,大大簡化了存儲管理,因為文件塊大小是固定的,這樣就可以很容易計算出一個節點可以存儲多少文件塊;其次,方便了元數據的管理,元數據不需要和文件塊一起存儲,可以由其他系統負責管理元數據●適合數據備份:每個文件塊都可以冗余存儲到多個節點上,大大提高了系統的容錯性和可用性3.

NoSQL數據庫-什么是NoSQL通常,NoSQL數據庫具有以下幾個特點:

(1)靈活的可擴展性

(2)靈活的數據模型

(3)與云計算緊密融合Notonlysql不僅僅是sql,也可以簡單理解為沒有sql。nosql數據庫我們也稱為非關系型數據庫。NoSQL數據庫從一開始就是分布式的。數據快速的寫入一個節點,其余節點通過讀取寫入節點的讀寫日志來實現異步復制NoSQL數據庫-NoSQL的特點不需要定義表結構,數據表中的每條記錄都可能有不同的屬性和格式不遵循范式的要求,去掉完整性約束,減少表之間的依賴數據進行分區,將數據分散在不同的節點上不能完全滿足事務的ACID特性,保證事務的最終一致性。51.模式自由2.逆規范化3.多分區存儲4.可擴展性強5.多副本異步復制6.軟事務可在系統運行過程中,動態增加和刪除節點,數據自平衡移動NoSQL數據庫與關系數據庫的比較NoSQL數據庫?關系數據庫的優勢及存在的問題(1)適合存儲結構化數據。(2)關系模型的二維結構接近人的邏輯思維,容易理解。(3)關系數據庫形式規整,代數理論完整,便于數據的維護。(4)數據的規模與增長可以預期。(5)事務性強,數據一致行強,具有高穩定性。(6)技術成熟,有大量成功的應用案例。優勢?憑借關系數據庫的諸多優勢,在上世紀90年代的互聯網領域建立了龐大的應用市場,積累了大量的成功案例,同時促進了互聯網的快速發展。也正是伴隨著互聯網的快速發展,特別是Web2.0網站的快速發展,在應對這些超大規模和高并發的應用時,傳統的關系數據庫就遇到了很多難以克服的問題。NoSQL數據庫與關系數據庫的比較NoSQL數據庫?NoSQL數據庫的優勢及存在的問題(1)數據模型簡單且靈活。(2)NoSQL更容易擴展。(3)數據庫結構簡單、容量更大,性能更高。(4)按照Key,很容易映射復雜值的環境,且有較高的獲取數據效率。(5)數據分區,提高了并行性,分區的同時進行了復制,防止了數據失效的問題。(6)和RAID存儲系統不同的是,NoSQL中的復制,往往是基于日志的異步復制。這樣,數據就可以盡快地寫入一個節點,而不會由于網絡傳輸引起遲延。優勢?NoSQL數據庫與關系數據庫的比較NoSQL數據庫?NoSQL數據庫的優勢及存在的問題(1)由于NoSQL數據庫是面向應用的,缺乏通用性。(2)NoSQL數據庫的應用成熟度不高,實際應用較少,已有產品支持的功能有限導致其應用具有一定的局限性。(3)沒有強一致性約束,有些場景無法適用,這也是無法代替關系數據庫的原因之一。(4)由于缺乏類似關系數據庫所具有的強有力的理論,數據庫的設計很難體現業務的實際情況,也增加了數據庫設計的難度。(5)目前為止,HBase數據庫是安全特性最完善的NoSQL數據庫產品之一,而其他的NoSQL數據庫多數沒有提供內建的安全機制問題?NoSQL數據庫與關系數據庫的比較NoSQL數據庫?NoSQL數據庫和傳統關系數據庫相結合

NoSQL數據庫和傳統關系數據庫都有各自的優勢和問題?;谒鼈兊倪m用范圍不同,目前主流架構采用關系數據庫(如MySQl)+NoSQL的組合方案。目前為止,還沒有出現一個能夠通吃各種場景的數據庫,而且根據CAP理論,這樣的數據庫是不存在的。

在強一致性和高可用性的場景下,數據庫基于ACID特性;而在高可用性和擴展性場景下,數據庫采用BASE思想。NoSQL數據庫可以彌補關系數據庫的一些缺陷,但是目前還是無法取代關系數據庫,將其兩者結合起來使用,各取所長,才是應對當下海量數據處理問題的正確方式。4.

NoSQL數據庫分類分類舉例典型應用場景數據模型優點缺點鍵值數據庫Redis,Voldemort,OracleBDB內容緩存,主要用于處理大量數據的高訪問負載,也用于一些日志系統等等。Key指向Value的鍵值對,通常用hashtable來實現查找速度快數據無結構化,通常只被當作字符串或者二進制數據列族數據庫Cassandra,HBase,Riak分布式的文件系統以列簇式存儲,將同一列族數據存在一起吞吐量大,可擴展性強,更容易進行分布式擴展功能相對局限文檔型數據庫CouchDB,MongoDBWeb應用(與Key-Value類似,Value是結構化的,不同的是數據庫能夠了解Value的內容)Key-Value對應的鍵值對,Value為結構化數據數據結構要求不嚴格,表結構可變,不需要像關系型數據庫一樣需要預先定義表結構查詢性能不高,而且缺乏統一的查詢語法。圖形數據庫Neo4J,InfoGrid,InfiniteGraph社交網絡,推薦系統等。專注于構建關系圖譜圖結構利用圖結構相關算法。比如最短路徑尋址,N度關系查找等很多時候需要對整個圖做計算才能得出需要的信息,而且這種結構不太好做分布式的集群方案。1、鍵值數據庫

鍵值數據庫(Key-ValueDatabase)會使用一個哈希表,這個表中有一個特定的key和一個指針指向特定的value。key可以用來定位value,即存儲和檢索具體的Value。項目描述相關產品Redis、Memcahed、SimpleDB、Riak等等數據模型key-value典型應用內容緩存。會話、配置文件、參數、購物車優點擴展性好、靈活性強、大量寫操作時性能高缺點無法存儲結構化信息、條件查詢效率較低使用者百度云數據庫(Redis)、Youtube(Memcached)Key_1Value_1Key_2Value_2Key_3Value_3Key_4Value_4Key_5Value_5..............4.

NoSQL數據庫分類2、列族數據庫

列族數據庫采用的是列族數據模型,由多個行構成,每行數據包含多個列族,不同行可以有不同數量的列族。屬于同一列族的數據被存在一起。每行數據是通過鍵值來定位。項目描述相關產品HBase、BigTable、hadoopDB、Cassandra等等數據模型列族典型應用分布式數據存儲于管理優點可擴展性強、容易分布式擴展、復雜性低缺點功能較少、大部分都不支持強事務一致性使用者Facebook(Cassandra)、Yahoo!(HBase)4.

NoSQL數據庫分類3、文檔型數據庫

數據模型是結構化的文檔,半結構化的文檔以特定的格式存儲,比如JSON。文檔型數據庫可以看作是鍵值數據庫的升級版,允許之間嵌套鍵值。項目描述相關產品MongoDB、CouchDB、ThruDB等等數據模型版本化的文檔典型應用存儲、索引并管理面向文檔數據或類似半結構化數據。優點性能好、靈活性高、復雜性低、數據結構靈活缺點缺乏統一的查詢語法使用者百度云數據庫(MongoDB),SAP(MongoDB)4.

NoSQL數據庫分類4、圖型數據庫

圖型數據庫以圖論為基礎,一個圖是一個數學概念,用來表示一個對象集合,包括頂點及連接頂點的邊。圖數據庫使用圖作為數據模型來存儲數據。項目描述相關產品Neo4j、OrientDB、GraphDB等等數據模型圖結構典型應用大量復雜、互連接、低結構化的圖結構。優點靈活性高、支持復雜的圖算法、可以用來構建復雜的關系圖譜缺點缺乏統一的查詢語法使用者達觀數據(Neo4j)4.

NoSQL數據庫分類5.

NoSQL數據庫面臨的挑戰NoSQL數據庫的前景很被看好,但是要應用到主流的企業還有許多困難需要克服?!癯墒於取裰С帧穹治雠c商業智能●管理●專業3.4大數據處理技術3.4.1storm平臺Storm是由BackType開發的實時處理系統,BackType現在已在Twitter麾下。Storm為分布式實時計算提供了一組通用原語,可被用于“流處理”之中,實時處理消息并更新數據庫。這是管理隊列及工作者集群的另一種方式。Storm也可被用于“連續計算”。在計算時就將結果以流的形式輸出給用戶。它還可被用于“分布式RPC”,以并行的方式運行昂貴的運算。Storm可以方便地在一個計算機集群中編寫與擴展復雜的實時計算,Storm保證每個消息都會得到處理,而且速度很快,在一個小集群中,每秒可以處理數以百萬計的消息。

Storm的主要特點簡單的編程模型可以使用各種編程語言容錯性水平擴展可靠的消息處理快速本地模式Storm的集群架構

Storm集群由一個主節點和多個工作節點組成:master節點和worker節點。master節點運行一個守護進程,叫Nimbus,類似Hadoop中的JobTracker。Nimbus負責在集群中分發代碼,分配任務,以及故障檢測。每個worker節點運行一個守護進程,叫Supervisor。Supervisor監聽分配到該服務器的任務,開始和結束工作進程。每個worker進程執行topology的一個子集;一個運行中的topology由許多分布在多臺機器上的worker進程組成。Nimbus和Supervisors之間是通過Zookeeper協調。此外,Nimbus和Supervisor是能快速失?。╢ail-fast)和無狀態的(stateless);所有的狀態都保存在Zookeeper或者在本地磁盤中。當Nimbus或者Supervisors出現問題重啟后會自動恢復,好像什么也沒發生過。這項設計使得Storm集群變得非常穩定健壯。

Storm集群架構

Storm的缺點

1)編程門檻對普通用戶來說較高2)框架本身不提供持久化存儲3)框架不提供消息接入模塊4)StormUI功能過于簡單5)Bolt復用困難6)存在Nimbus單點失效問題7)Topology不支持動態部署3.5.1“大數據”分析特點及技術路線3.5大數據分析技術1.大數據分析具有五個特點:1)大數據分析應是可視化分析2)大數據分析的理論核心是數據挖掘算法3)大數據分析最重要的應用領域之一就是預測性分析4)大數據分析廣泛應用于網絡數據挖掘5)大數據分析離不開數據質量和數據管理2.大數據分析技術路線目前的大數據分析主要有兩條技術路線,一是憑借先驗知識人工建立數學模型來分析數據,二是通過建立人工智能系統,使用大量樣本數據進行訓練,讓機器代替人工獲得從數據中提取知識的能力。3.5.2“大數據”分析過程數據分析過程的主要活動由識別信息需求、收集數據、分析數據、評價并改進數據分析的有效性組成。3.5.3“大數據”分析方法數據分析是指用適當的統計分析方法對收集來的大量數據進行分析,將它們加以匯總和理解并消化,以求最大化地開發數據的功能,發揮數據的作用。數據分析是為了提取有用信息和形成結論而對數據加以詳細研究和概括總結的過程。數據也稱觀測值,是實驗、測量、觀察、調查等的結果。數據分析中所處理的數據分為定性數據和定量數據。大數據分析的研究對象是大數據,它側重于在海量數據中的分析挖掘出有用的信息。對應于大數據分析的兩條技術路線其分析方法可分為兩類:一是統計分析方法,另一個是數據挖掘方法。1.統計分析方法1)描述性統計分析2)回歸分析3)因子分析4)方差分析2.數據挖掘方法1)分類和預測2)關聯規則3)聚類3.統計分析和數據挖掘的聯系與區別1)統計分析和數據挖掘的聯系從兩者的理論來源來看,它們都源于統計理論基礎理論,因此它們的許多方法在很多情況下都是同根同源的。比如,概率論和隨機事件是統計學的核心理論之一,統計分析中的抽樣估計需要應用該理論,而在數據挖掘技術的貝葉斯分類中,就是這些統計理論的發展和延伸。2)統計分析和數據挖掘的區別統計分析的基礎之一是概率論,在對數據進行統計分析時,分析人員常常需要對數據分布和變量間的關系做假設,確定用什么概率函數來描述變量間的關系,以及如何檢驗參數的統計顯著性;但是在數據挖掘的應用中,分析人員不需要對數據分布做任何假設,數據挖掘的算法會自動尋找變量間的關系。因此,相對于海量、雜亂的數據,數據挖掘技術有明顯的應用優勢。3.6大數據可視化技術

3.6.1大數據可視化技術概述

3.6.2大數據可視化技術基礎

3.6.3大數據可視化應用

3.6.4大數據可視化軟件和工具3.6.1大數據可視化技術概述1數據可視化簡史1)16世紀之前:圖表萌芽2)17世紀:物理測量數據可視化3)18世紀:圖形符號4)19世紀:數據圖形5)1900-1949年:現代啟蒙6)1950-1974年:多維信息的可視編碼7)1975-1987年:多維統計圖形8)1987-2004年:交互可視化9)2005年至今:可視分析學2數據可視化的功能從宏觀的角度看,可視化有3個功能:(1)信息記錄:將大規模的數據記錄下來,最有效的方式就是將信息成像或采用草圖記載。不僅如此,可視化呈現還能激發人的洞察力,幫助驗證科學假設。20世紀的三大發現之一DNA分子結構就起源于對DNA結構的X射線衍射照片的分析。2數據可視化的功能(2)信息推理與分析將信息以可視化的方式呈獻給用戶,使得用戶可以從可視化結果分析和推理出有效的信息,提高認識信息的效率。數據可視化在對上下文的理解和數據推理有獨到的作用。19世紀歐洲霍亂大流行的時候,英國醫生JohnSnow繪制了一張倫敦的街區地圖如圖3-1所示,該圖標記了每個水井的位置和霍亂致死的病例地點。該圖清晰顯示有73個病例集中分布在布拉德街的水井附近,這就是著名的倫敦鬼圖。在拆除布拉德街水井搖把之后不久,霍亂就平息了。2數據可視化的功能(3)信息傳播與協同視覺感知是人類最主要的信息通道,人靠視覺獲取了70%以上的信息。俗話說的“一圖勝千言”或“百聞不如一見”就是這個意思。將復雜信息傳播與發布給公眾的最有效途徑就是將數據進行可視化,達到信息共享、信息協作、信息修正和信息過濾等目的。3大數據可視化簡介在大數據時代,人們不僅處理著海量的數據,同時還要對這些海量數據進行加工、傳播、分析和分享。實現這些形式最好的方法就是大數據可視化。大數據可視化讓數據變得更加可信、直觀和具有美感。它就像文學家寫出詩歌一般美妙的文字,為不同的用戶講述各種各樣的故事。從大數據可視化呈現形式來劃分,大數據可視化的表達主要有下面幾個方面。(1)指標的可視化數據可視化的核心的是對原始數據采用什么樣的可視化元素來表達,在大數據可視化過程中,采用可視化元素的方式將指標可視化,會將可視化的效果增彩很多。3大數據可視化簡介(2)數據關系的可視化數據關系往往也是可視化數據核心表達的主題宗旨。下圖是對自然科學領域1431種雜志的文章之間的217287個相互引用關系網絡的聚類可視化結果。所有1431個結點被分割聚合為54個模塊,每個模塊結點是一個聚類,而模塊的大小則對應聚類中原來結點的數目。3大數據可視化簡介(3)背景數據的可視化很多時候光有原始數據是不夠的,因為數據沒有價值,信息才有價值。設計師馬特·羅賓森和湯姆·維格勒沃斯用不同的圓珠筆和字體寫“Sample”這個單詞。因為不同字體使用墨水量不同,所以每支筆所剩的墨水也不同。在馬特·羅賓森和湯姆·維格勒沃斯的字體測量圖中不再需要標注坐標系,因為不同的筆及其墨水含量已經包含了這個信息。(4)轉換成便于接受的形式大數據可視化完成基本功能后可能還需要優化。優化包括按照人的接受模式、習慣和能力,甚至還需要考慮顯示設備的能力,然后進行綜合改進,這樣才能更好地達到被接受的效果。(5)強化因為是大數據,所以很多時候數據、信息、符號對于接受者而言是過載的,可能就分辨不出來了,這時我們就需要在原來的可視化結果基礎上再進行強化。3大數據可視化簡介(6)修飾修飾是為了讓可視化的細節更為精準、甚至優美,比較典型的工作包括設置標題,表明數據來源,對過長的柱子進行縮略處理,進行表格線的顏色設置,各種字體、圖素粗細、顏色設置等。(7)完美風格化所謂風格化就是標準化基礎上的特色化,最典型的例如增加企業、個人的LOGO,讓人們知道這個可視化產品屬于哪個企業、哪個人。而要做到真正完美的風格化,還需要很多不同的操作。例如布局、顏色、圖標、標注、線型,甚至動畫的時間、過渡等方面,從而讓人們更直觀地理解和接受。

3.6.2大數據可視化技術基礎

1數據可視化流程數據可視化流程一般以數據流向為主線,主要分為數據采集、數據處理、可視化映射和用戶感知這四大模塊。整個數據可視化流程可以看成數據流經過一系列處理模塊并得到轉換的過程。用戶可以通過可視化交互與其他模塊進行互動,向前面模塊反饋而提高數據可視化的效果。具體的數據可視化流程有很多種,下圖是一個數據可視化流程的概念模型。

1數據可視化流程

數據采集數據處理和變換可視化映射用戶感知

數據可視化流程中的各個模塊之間的聯系并不是依照順序的線性聯系,而是任意兩個模塊之間都存在聯系。例如,可視化交互是數據可視化過程中,用戶控制修改數據采集、數據處理和變換、可視化映射各模塊而產生新的可視化結果,并反饋給用戶的過程。2數據可視化編碼

可視化編碼(visualencoding)是數據可視化的核心內容。指將數據信息映射成可視化元素,映射結果通常具有表達直觀、易于理解和記憶等特性??梢暬赜煽梢暬臻g、標記和視覺通道等三方面組成。標記和視覺通道數據的組織方式通常是屬性和值。與之對應的可視化元素就是標記和視覺通道。其中,標記是數據屬性到可視化元素的映射,用以直觀地表示數據的屬性歸類;視覺通道是數據屬性的值到標記的視覺呈現參數的映射,用于展現數據屬性的定量信息,兩者的結合可以完整地將數據信息進行可視化表達,從而完成可視化編碼這一過程。

2數據可視化編碼

視覺通道用于控制標記的視覺特征,通??捎玫囊曈X通道包括標記的位置、大小、形狀、顏色、方向、色調、飽和度、亮度等。

標記的選擇通?;谌藗儗τ谑挛锢斫獾闹庇X。然而,不同的視覺通道在表達信息的作用和能力可能具有截然不同的特性。

2數據可視化編碼

2.可視化編碼元素的優先級數據可視化的有效性取決于用戶的感知。盡管不同用戶的感知能力會有一定的差別,仍然可以假設大多數人對可視化元素有規律可循。Cleveland等研究人員發現,當數據映射為不同的可視化元素時,人對不同可視化元素的感知準確性是不同的。數據可視化的對象不僅包含數值型數據,也包括非數值型數據。對于數值型、有序型和類別型三種類型的數據人們對可視化元素中的位置分辨都是最準確的。

2數據可視化編碼

3.統計圖表的可視化在數據可視化的發展歷史中,從統計學中發展起來的統計圖表起源很早,應用廣泛,而且是很多大數據可視化方法發展的起點和靈感來源。常用的一些統計圖表有:柱狀圖直方圖餅圖散點圖等值線圖熱力圖走勢圖顏色映射圖

2數據可視化編碼

根據不同的數據可視化分析需求可以歸納出采用的基本統計圖表可視化方法。如圖所示。

3數據可視化設計

1.數據可視化設計標準在進行數據可視化設計時有適合大多數可視化設計的標準可以幫助設計者實現不同風格可視化設計以及尋求最佳設計這些目標。下面列出常見的一部分標準。1)強表達力2)強有效性有效性代表用戶對可視化顯示信息的理解效率。3)簡潔性4)易用性5)美感數據可視化設計的側重點雖然不是視覺美感,但視覺上的美感可以讓用戶更易于理解可視化表達的內容,更專注于對數據的考察和度量,從而提高數據可視化的效率。

3數據可視化設計

2.數據可視化設計的步驟(1)確定數據到圖形元素和視覺通道的映射;(2)視圖的選擇與用戶交互控制的設計;(3)數據的篩選即確定在有限的可視化視圖空間中選擇適量的信息進行編碼,以避免在數據量很大的情況下產生視覺混亂。3.數據可視化設計的直觀性數據到可視化元素的映射需要充分利用人們已有的先驗知識,從而降低人們對信息的感知和認識所需要的時間。

3數據可視化設計

3.數據可視化設計的直觀性

數據到可視化元素的映射需要充分利用人們已有的先驗知識,從而降低人們對信息的感知和認識所需要的時間。

3.6.3大數據可視化應用

本節主要介紹跨媒體數據中的文本數據、社交網絡數據、日志數據和地理信息數據的大數據可視化應用以及大數據可視化的交互應用。1文本數據可視化

文本是人類信息交流的主要傳播媒體之一,文本信息在人們日常生活中幾乎無處不在,如新聞、郵件、微博、小說和書籍等。

文本可視化基本流程包括三個主要步驟:即文本處理、可視化映射和交互操作。整個過程應該圍繞用戶分析的需求設計。下面根據文本的模式或結構、文檔的主題或主題分布、文本中的關聯等特征方面闡述一些文本數據可視化的經典案例和應用。1文本數據可視化1)標簽云標簽云(tagcloud)又稱文本云(textcloud)或單詞云,是最直觀、最常見的對文本關鍵字進行可視化的方法。標簽云一般使用字體的大小與顏色對關鍵字的重要性進行編碼。權重越大的關鍵字的字體越大,顏色越顯著。除了字體大小與顏色,關鍵字的布局也是標簽云可視化方法中一個重要的編碼維度。2)小說視圖小說視圖(NovelViews)方法是使用簡單的圖形將小說中的主要人物在小說中的分布情況進行可視化。在縱軸上,每個小說人物按照首次出現的順序從上至下排列;橫軸分成幾個大塊表示整套書中的一卷,每一卷中用灰色線段表示一本書,小矩形表示每個章節。矩形高度表示相應的人物在該章節出現的次數;矩形的顏色編碼表示章節的感情色彩。例如用紅色表示消極;藍色表示積極。

1文本數據可視化

3) 主題山地主題山地(themescapes)方法使用了抽象的三維山地景觀視圖隱喻文檔集合中各個文檔主題的分布,其中高度和顏色用來編碼主題相似的文檔的密度。4)主題河流主題河流(themeriver)是用于時序型文本數據可視化的經典方法。時序型文本通常是指具有內在順序的文檔集合,例如一段時間內的新聞報道、一套叢書等。由于時間軸是時序型文本的重要屬性,需要重點考慮時間軸的表示及可視化。

2日志數據可視化

日志數據可以理解為一種記錄所觀察對象的行為信息的數據。日志數據的來源多種多樣,例如:電子商務網站的海量交易記錄、銀行系統的財務記錄、集群網絡產生的大量系統日志數據、GPS和移動通信設備記錄的記錄等。下面根據可視化數據來源的差異,闡述一些日志數據可視化的經典案例和應用。商業交易數據可視化

淘寶、京東、亞馬遜等電子商務交易平臺每時每刻產生用戶購買商品的交易信息。這些信息包括用戶登記的姓名、年齡、職業、郵寄地址、累計花銷、成交商品、成交金額、成交時間等屬性。這些個人信息與交易記錄具有巨大的數據分析價值。對商業交易數據進行可視化可以直觀形象地展示數據,提高數據分析和數據挖掘效率,從而帶來可觀的經濟和社會效益。

2日志數據可視化

2. 用戶點擊流可視化用戶在網頁上的點擊流記錄了用戶在網頁上的每一次點擊動作,用戶點擊流可用于分析用戶在線行為模式,高頻點擊流序列和特定行為模式的一類用戶的統計特征。

3社交網絡可視化

社交網絡服務是指基于互聯網的人與人之間相互聯系、信息溝通和互動娛樂的運作平臺。Facebook、Twitter、微信、新浪微博、人人網、豆瓣等都是當前普及的社交網站?;谶@些社交網站提供的服務建立起來的虛擬化的網絡就是社交網絡。社交網絡是一個網絡型結構,由結點和結點之間連接組成。社交網絡數據可視化著重于展示社交網絡的結構,即體現社交網絡中參與者和他們之間的拓撲關系結構。常用于結構化可視化方法是結點鏈接圖。其中結點表示社交網絡的參與者,結點之間的鏈接表示兩個參與者之間的某一種聯系,包括朋友關系、親屬關系、關注或轉發關系、共同的興趣愛好等。通過對邊和結點的合理布局可以反映出社交網絡中的聚類、社區、潛在模式等。

4地理信息可視化

地理信息包含地球表面、地上、地下的所有與地理有關的信息。由于人類活動的主要空間是地球,因此很多工程實踐、社會活動和科學研究所產生的數據都含有地理信息。對這些地理數據進行采集、描述、儲存、運算、管理、分析和可視化的系統稱為地理信息系統(GIS)。地理信息數據的可視化是GIS的核心功能,在日常生活中應用十分廣泛,例如高德地圖、凱立德地圖、GPS導航、用戶手機信息跟蹤、汽車軌跡查詢等。

4地理信息可視化

1)

點地圖可視化點數據的基本手段是在地圖的相應位置擺放標記或改變該點的顏色,形成的結果稱為點地圖。點地圖不僅可以表現數據的位置,也可以根據數據的某種變量調整可視化元素的大小,例如圓圈和方塊的大小或者矩形的高度。2) 網絡地圖網絡地圖是一種以地圖為定義域的網絡結構,網絡中的線段表達數據中的鏈接關系與特征。在網絡地圖中,線段端點的經度和緯度用來定義線段的位置,其他空間屬性可以映射成線段的顏色、紋理、寬度、填充以及標注等可視化的參數。除此之外,線段的起點與終點、不同線段的交點可以用來編碼不同的數據變量。4地理信息可視化3)等值區間地圖等值區間地圖是最常用的區域地圖方法。該方法假定地圖上每個區域內的數據分布均勻,將區域內相應數據的統計值直接映射為該區域的顏色。每個區域的邊界是封閉的曲線。等值區間地圖可視化的重點是數據的歸一化處理和顏色映射的方法。

5數據可視化交互

大數據可視化幫助用戶洞悉數據內涵的主要方式有兩種:顯示和交互。這兩種方式互相補充并處于一個反饋的循環中??梢暬@示是指數據經過處理和可視化映射轉換成可視化元素并且呈現。可視化交互是指將用戶探索數據的意圖傳達到可視化系統中以改變可視化顯示。數據可視化用戶界面設計中,可取多種可視化交互方式,但其核心思路是:先看全局,放大并過濾信息,繼而按要求提供細節。在實際設計中,這個模型是設計的起點,需要根據數據和任務進行補充和拓展。

5數據可視化交互

1)

探索可視化交互中的探索操作讓用戶主動尋找并調動可視化程序去尋找感興趣的數據。探索過程中通常需要在可視化中加入新數據或去除不相關的數據。例如在三維空間中可以由用戶指定更多的數據細節,通過調整繪制的參數,包括視角方向、位置、大小和繪制細節程度等實現交互調節。2)簡化或具體面對超大規模的數據可視化需要先簡化數據再進行顯示。簡化或具體程度可以分成不同的等級。常用的得方法有下面三種。第一種,通過用戶交互改變數據的簡化程度并且在不同的層次上顯示是可視化交互中廣泛應用的方法;第二種也是最直觀的調整數據簡化程度的方法是可視化視圖的放大或縮小操作;第三種是通過改變數據結構或者調整繪制方法來實現簡化操作。

5數據可視化交互

3. 數據過濾數據過濾可以選取滿足某些性質和條件的數據,而濾除其他數據。在過濾交互過程中,除了現實的對象在改變外,可視化的其他元素(例如視角和顏色)均保持不變。這種可視化交互方式既減少了顯示上的重疊問題,也有利于用戶有選擇性地觀察符合某一類有共同性質的數據。通過過濾這種數據可視化交互操作,相關數據被更好地展現,也便于用戶觀察可視化結果中的圖案。3.6.4大數據可視化軟件和工具

在大數據可視化方面,如今用戶有大量的工具可供選用,但哪一種軟件或工具最適合,這將取決于數據的類型以及可視化數據的目的。而最有可能的情形是,將某些軟件和工具結合起來才是最適合的。大數據可視化軟件一般可以分為科學可視化、可視分析和信息可視化三個領域??茖W可視化領域包括地理信息、醫學圖像等有相應時空坐標的數據。如VTK、3DSlicer等。信息可視化應用領域包括文本、高維多變量數據、社交網絡、日志數據和地理信息等大數據可視化等??梢暦治鲕浖⒅胤治龃髷祿囊幝珊挖厔?。大數據可視化軟件可以分為開源軟件和商務軟件兩種。很多大數據可視化軟件最初來源于政府資助的科學研究項

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論