大數據項目由業務驅動,一套完整且優秀的大數據解決方案對企業的發展具備戰略性意義。數據庫
因爲數據來源多樣,致使來自不一樣數據源的數據類型、規模等具備不一樣的特徵。在處理分析大數據時,將涉及到更多維度(治理、安全等)。編程
所以在採用大數據分析前,需對項目的整個管理流程和決策框架提早考慮。須要考慮到的內容主要有:安全
1.先決條件框架
優質數據、完善的流程、優秀的員工、預設持續週期。編程語言
2.數據獲取來源分佈式
考慮來自全部渠道(內部和外部)、全部可用於分析的數據,同時包括數據格式、收集方式、規模等。工具
主要來源包括:企業內部(系統、數據管理系統DMS等)、企業外部(公開數據和商業數據)。oop
數據管理系統DMS——存儲邏輯數據、流程、策略和各類其餘類型的文檔。性能
3.數據隱私管理大數據
保護敏感數據,制定相應的數據屏蔽(標記化、匿名化)和存儲措施。
4.數據安全
考慮使用用戶認證、受權機制以保證數據庫管理系統的安全。
非關係型數據庫經過使用明文通訊的API進行數據交換,缺少安全性。
API(Application Programming Interface)——應用程序編程接口,實現計算機軟件之間的相互通信。可經過Postman工具進行調取。
5.元數據
大數據在生命週期的不一樣分析過程當中,可能因傳輸、加工和存儲而處於不一樣的狀態。這些改變自動觸發元數據的生成,後續可做爲對結果進行溯源的依據,同時保證數據的準確、可靠性。所以須要一個框架來保存元數據。
6.時效性
不一樣業務對時效性的要求不一樣。由此分爲批處理、流處理兩種處理方式。
不一樣的處理方式有不一樣的平臺、硬件支持(例:Storm-免費開源的分佈式流處理計算系統,Hadoop-免費開源的分佈式批處理計算系統)。
7.硬件性能
因爲數據量大,數據查詢和傳輸時間可能過長,所以需對相關硬件設施進行升級。
8.數據管理框架
在將數據傳入企業進行處理、存儲、分析、清除、存儲時,同時制定監視、構建、存儲和保護數據的流程和方針,有助於解決數據複雜性等問題。
數據管理框架還考慮如下內容:
9.創建反饋循環機制
考慮創建適當的反饋循環機制,以優化分析步驟,得到更準確的分析結果。
10.存儲、計算環境
提供了多個數據存儲選項,好比雲、關係型數據庫、非關係型數據庫、分佈式文件存儲 (DFS)等。
但通常大數據環境都會所有/部分採用基於雲的託管。
當全部前期準備已作好時,便可着手開始解決實際業務。
針對具體項目,因爲大數據與傳統數據的差別,大數據分析具備多樣性的需求,所以其具備獨特的生命週期,可分爲9個階段:
圖1 大數據分析的生命週期
1.案例評估:
「SMART」化 + 判斷是否爲大數據問題(依據5V特徵) + 評估預算和收益。
2.數據標識:
儘量找到不一樣類型的相關數據集,試圖從中發現隱藏信息。
3.數據獲取、過濾
對獲取的數據進行歸類,並過濾「腐壞」數據,過濾前對數據進行備份、壓縮。
「腐壞數據」包括:遺失/無心義值/空值等非結構或不相關類型。
4.數據提取
查詢提取出分析所需數據。同時,根據分析類型和大數據解決方案能力,將數據修改成須要的格式。
目前主要的挑戰是將非結構化數據格式(XML、Json等)轉化爲便於分析的數據格式。
5.驗證、清洗
經過冗餘數據集,整合驗證字段、填充缺失數據、移除已知的無效數據,以此檢驗具備關聯的數據集。(看似無效的數據可能蘊含某種隱藏規律,例:離羣值可用於研究風險)
批處理的數據驗證清洗過程在離線ELT系統中進行,流處理在複雜的內存中進行。
6.數據集成與表示
將不一樣來源、格式的數據,依邏輯上或物理上進行集成,並經過一個視圖(二維表等)表示出來的過程。同時,對部分集成數據進行存儲,以備後續數據分析使用。
數據集成包括兩個層次——形式上的數據集成、語義上的數據集成。
7.數據分析
經過不一樣的分析方法,試圖從數據中提取業務洞察。
數據分析方法可分爲:描述性分析、驗證性分析(假設→檢驗)、探索性分析(概括法)。
同時創建適當的迭代方式,重複屢次分析,以提升分析出可靠結果的可能性。
8.數據可視化
針對不一樣使用場景,使用不一樣的可視化技術,將分析結果經過圖形進行展現。以便於專業分析人員與用戶進行交流,同時使用戶發現潛在答案成爲可能。
9.分析結果的應用
使用分析層的輸出結果,使用者多是可視化應用程序、人(決策者)或某項業務流程。
當已經決定構建 新的/更新現有的 大數據解決方案,下一步是識別大數據解決方案所需的組件,主要可從如下兩個視角來考慮。
1.大數據解決方案的邏輯層:
邏輯層提供了一種組織相關組件的方式,其中不一樣的組件執行不一樣的功能。
這些層只是邏輯層,並不意味着支持每層的功能獨立運做,相反各層之間聯繫緊密,數據在各層之間流動。
大數據解決方案一般由如下邏輯層組成:
2.垂直層:
影響邏輯層中全部組件的各方面都包含在垂直層中,垂直層包括如下幾層:
邏輯層和垂直層的組件及關係參考下圖。
圖2 邏輯層和垂直層的組件