- 大數據分析:數據倉庫項目實戰
- 尚硅谷IT教育編著
- 3020字
- 2021-01-05 18:09:52
1.1 大數據概論
1.1.1 什么是大數據
讀者首先需要了解什么是數據?什么是大數據?
數據在我們的生活中無處不在,清晨起床,用手機打開新聞資訊,此時就產生了數據;早高峰乘坐地鐵,刷二維碼進站,又產生了數據;打開購物網站,下單購買商品,還會產生數據……生活在當今這個高度信息化的世界,一切行為幾乎都可以用數據來描述,這種情況發生在每個人的身上。每時每刻都有上億條數據產生,這些海量數據流進了那些提供互聯網服務的公司,存儲在他們的系統中。如果不對其加以利用,則這些數據只是拖慢系統的沉重負擔,但如果善于挖掘,則這些數據就是蘊藏巨大價值的寶藏!
那么大數據究竟是什么?國際頂級權威咨詢機構麥肯錫給出定義,大數據指的是所涉及的數據集規模已經超過了傳統數據庫軟件獲取、存儲、管理和分析的能力。這是一個被故意設計成主觀性的定義,并且是一個關于多大的數據集才能被認為是大數據的可變定義,即并不定義大于一個特定數據的TB才叫大數據。因為隨著技術的不斷發展,符合大數據標準的數據集容量也會增長;并且定義隨不同行業也有變化,這依賴于在一個特定行業通常何種軟件和數據集有多大。因此,大數據在今天不同行業中的范圍可以從幾十TB到幾PB。隨著數據量越來越大,大數據的存儲和分析計算面臨的挑戰也越來越大。
1.1.2 大數據生態圈簡介
在大數據飛速發展的幾年中,已經形成了一個完備多樣的大數據生態圈,如圖1-1所示。從圖1-1中可以看出,大數據生態圈分為7層,這7層如果進一步概括,可以歸納為數據采集層、數據計算層和數據應用層3層結構。

圖1-1 大數據生態圈的層次及其應用舉例
1.數據采集層
數據采集層是整個大數據平臺的源頭,是整個大數據系統的基石。當前許多公司的業務平臺每天都會產生海量的日志數據,收集日志數據供離線和在線的分析系統使用是日志收集系統需要做的事情。除日志數據外,大數據系統的數據來源還包括業務數據庫的結構化數據,以及視頻、圖片等非結構化數據。隨著大數據的重要性逐漸突顯,大數據采集系統的合理搭建就顯得尤為重要。
大數據采集過程中的挑戰越來越多,主要來自以下幾個方面。
① 數據源多種多樣。
② 數據量大且變化快。
③ 如何保證所采集數據的可靠性。
④ 如何避免采集重復的數據。
⑤ 如何保證所采集數據的質量。
針對這些挑戰,日志收集系統需要具有高可用性、高可靠性、可擴展性等特征。現在主流的數據傳輸層的工具有Sqoop、Flume、DataX等,通過多種工具的配合使用,可以滿足多種數據源的采集傳輸工作。同時數據傳輸層通常情況下還需要對數據進行初步的清洗、過濾、匯總、格式化等一系列轉換操作,使數據轉為適合查詢的格式。數據采集完成后,需要選用合適的數據存儲系統,考慮到數據存儲的可靠性及后續計算的便利性,通常選用分布式文件系統,如HDFS和HBase等。
2.數據計算層
大數據僅僅被采集到數據存儲系統是遠遠不夠的,只有通過整合計算,數據中的潛在價值才可以被挖掘出來。
數據計算層可以劃分為離線數據計算和實時數據計算。離線數據計算主要是指傳統的數據倉庫概念,數據計算可以以天為單位,還可以細分為小時或者匯總為以周和月為單位,主要以T+1的模式進行,即每天凌晨處理上一天的數據。
隨著業務的發展,部分業務需求對實時性的要求逐漸提高,實時計算開始占有較大的比重,實時計算的應用場景也越來越廣泛,比如,電商實時交易數據更新、設備實時運行狀態報告、活躍用戶區域分布實時變化等。生活中比較常見的有地圖與位置服務應用實時分析路況、天氣應用實時分析天氣變化趨勢等。
大數據的計算需要使用的資源是巨大的,大量的數據計算任務通常需要通過資源管理系統共享一個集群的資源,YARN便是資源管理系統的一個典型代表。通過資源管理系統可以提高集群的利用率、降低運維成本。大數據的計算通常不是獨立的,一個計算任務的運行很大可能依賴于另一個計算任務的結果,使用任務調度系統可以很好地處理任務之間的依賴關系,實現任務的自動化運行。
無論何種數據計算,進行數據計算的前提是規范合理地規劃數據,搭建規范統一的數據倉庫體系。通過搭建合理的、全面的數據倉庫體系,盡量規避數據冗余和重復計算等問題,使數據的價值發揮到最大程度。為此,數據倉庫分層理念被逐漸豐富完善,目前應用比較廣泛的數據倉庫分層理念將數據倉庫分為4層,分別是原始數據層、明細數據層、匯總數據層和應用數據層。通過數據倉庫不同層次之間的分工分類,使數據更加規范化,可以幫助用戶需求得到更快實現,并且可以更加清楚明確地管理數據。
3.數據應用層
當數據被整合計算完成之后,需要最終提供給用戶使用,這就是數據應用層。不同的數據平臺針對其不同的數據需求有各自相應的數據應用層的規劃設計,數據的最終需求計算結果可以構建在不同的數據庫上,比如,MySQL、HBase、Redis、Elasticsearch等。通過這些數據庫,用戶可以很方便地訪問最終的結果數據。
最終的結果數據由于面向的用戶不同,可能有不同層級的數據調用量,面臨著不同的挑戰。如何能更穩定地為用戶提供服務、滿足各種用戶復雜的數據業務需求、保證數據服務接口的高可用性等,都是數據應用層需要考慮的問題。
1.1.3 大數據應用場景
大數據無處不在,包括金融、汽車、互聯網、電信、物流、電影娛樂等在內的社會各行各業都已經融入了大數據的印跡。
金融業:大數據在金融行業的應用范圍很廣,比較典型的金融大數據的應用場景集中在用戶經營、數據風控、產品設計和決策支持等,例如,大數據分析為客戶推薦合適的產品、預測未來理財產品的受歡迎程度。金融行業的數據大部分是結構化數據,存儲在傳統關系型數據庫中,通過數據挖掘可以分析出隱藏在交易數據中的巨大商業價值。
汽車行業:大數據在汽車行業釋放出的巨大價值引發越來越多汽車行業人士的關注,最基本的有利用大數據分析消費者的行為決定汽車營銷方向、分析用戶維保行為助力二手車真實價值評估、智能導航大數據為智能化交通提供更多的空間和可能,此外利用大數據和物聯網技術制造的無人駕駛汽車,在不遠的未來將走入我們的日常生活中。
互聯網行業:大數據在互聯網行業的應用已經滲透到了方方面面,幾乎客戶的所有行為都會在互聯網平臺上留下痕跡,所以互聯網企業可以方便地獲取大量的用戶行為信息,通過分析用戶行為,可以制定更有針對性的服務策略。除利用大數據提升自己的業務以外,互聯網企業已經開始實現數據業務化,利用大數據發現新的商業價值。以阿里巴巴為例,它不僅在加強個性化推薦,開發“千人千面”這種面向消費者的大數據應用,并且還在嘗試利用大數據進行智能客戶服務。
電信業:電信業大數據的發展仍處于探索階段,目前國內運營商對大數據的應用主要體現在利用大數據進行基礎設施建設優化、網絡運營管理優化及市場精準營銷,并利用大數據實現客戶離網分析,及時掌握客戶離網傾向,出臺客戶挽留措施。
物流業:物流業通過海量的物流數據,以及運輸、倉儲、包裝、運輸等環節中涉及的數據信息等,挖掘出新的深層價值,進而提高運輸與配送效率、減少物流成本,更有效地滿足客戶服務要求。具體體現在利用大數據優化物流網絡,車貨匹配,庫存預測,供應鏈協同管理,從而提高物流效率,降低物流成本。
電影娛樂:大數據在精準營銷中所起的作用尤其反映在電影領域,挖掘精準人群的意義更加非同一般,因為不同類型的影片背后是截然不同的受眾群體,針對不同的受眾,還可以利用大數據去挖掘受眾的所思、所想、所好,為內容策劃甚至演員選角提供更多的數據支持。
大數據的價值,遠遠不止于此,大數據對各行各業的滲透,大大推動了社會生產和生活的發展,未來必將產生重大而深遠的影響。
- 漫話大數據
- 數據庫應用實戰
- 企業數字化創新引擎:企業級PaaS平臺HZERO
- 數據庫基礎與應用:Access 2010
- DB29forLinux,UNIX,Windows數據庫管理認證指南
- 信息系統與數據科學
- 數據之巔:數據的本質與未來
- Architects of Intelligence
- 虛擬化與云計算
- MySQL從入門到精通(第3版)
- INSTANT Cytoscape Complex Network Analysis How-to
- Microsoft Power BI數據可視化與數據分析
- 深入淺出 Hyperscan:高性能正則表達式算法原理與設計
- SQL應用及誤區分析
- 數據科學工程實踐:用戶行為分析與建模、A/B實驗、SQLFlow