大數據(big data):基礎概念
本文內容主要來自課程UCSD大學網路課程Big Data的學習筆記+筆者的理解。
1. 為什麼今天是大數據時代
簡單說:大量數據 + 雲計算 = 大數據時代
2. 大數據來自哪裡?
主要來自三個方面:
- 機器產生的結構數據。
- 人類產生的非結構數據。
- 機構產生的混合數據。
機器產生的數據舉例:收銀票據,固定的格式。
人類產生的非結構數據舉例:社交平台的評論數據、上傳的圖片、視頻等等。
機構產生的數據舉例:一家超市,有所有的進銷存數據,客戶購物數據,還有官網對超市的評論等,有結構化的數據,也有非結構化的數據。
3. 大數據如何產生價值
價值來自整合不同類型的數據源!
以超市舉例說明,通過進銷存數據+客戶購物數據+社交網路輿情監測數據,預測接下來幾天的銷售預期,進而制定合適的營銷策略增加銷售。4. 「大數據(big data)「的定義——6個"V"
我們通過6個維度來定義什麼是"大數據",這個維度的英文單詞都是由字母"V"開頭,所以也可以簡記為6個「V」。分別是:Volume(規模)、Velocity(速度)、Variety(多樣)、Veracity(質量)、Valence(連接)、Value(價值)
- Volume(規模):指的是每天產生的海量數據
- Velocity(速度):指的是數據產生的速度越來越快
- Variety(多樣):指的是數據格式的多樣性,例如文本、語音、圖片等
- Veracity(質量):指的是數據的質量差別可以非常大
- Valence(連接):指的是大數據之間如何產生聯繫
- Value(價值):數據處理可以帶來不同尋常的洞見進而產生價值
5. 「數據科學」的5個「P」
利用大數據產生價值的學問定義為「數據科學」。具體來說,這門學問可以通過以下5個「P」來定義:Purpose(目標)、People(人物)、Process(過程)、Platforms(平台)、Programmability(可編程)
- Purpose(目標):利用大數據想要解決的問題或挑戰
- People(人物):數據科學家往往具備多個領域的技能,包括:科學或商業知識、數據統計知識、機器學習和數學知識、數據管理知識、編程及計算機知識。一般來說往往需要「互補」的多位科學家組隊工作。
- Process(過程):包括如何團隊溝通、使用何種技術、採取什麼工作流程等等
- Platforms(平台):包括採取什麼樣的計算和存儲平台
- Programmability(可編程):開展數據科學需要編程語言的幫助,例如R和patterns,MapReduce等。
6.提出問題
在真正開始進行數據分析之前,提出正確的問題至關重要!!!
名言:正確定義要解決的問題相當於已經解決了問題的一半!6. 數據分析的工作流程
數據分析的工作流程主要包括5步:
- 獲取數據
- 準備數據:包括數據探索和預處理
- 分析數據:建立模型的過程
- 展示結果:可視化數據結論
- 應用結論:提出觀點,形成行動
7. 什麼是分散式文件系統
分散式文件系統的物理狀態就是一堆裝滿主機的機櫃。
分散式文件系統的存儲方式是,首先將一份文件切分為n份(圖中以5份為例),然後將這5份複製後分別存放在不同的機櫃不同的主機中。
為什麼要這樣做?
主要好處有三個:- 數據可擴展性(Data Scalability):存儲量不夠了增加磁碟陣列即可
- 容錯性(Fault Tolerance):如果主機或者機櫃宕機,很難導致數據丟失,或系統停止工作
- 高並發性(High Concurrency):並行處理數據成為可能
8. Hadoop生態環境
Hadoop是由一系列軟體組成的,用於處理分散式存儲、雲計算、大數據處理等等的各類框架的集和。
我們通過下面這種「層疊結構」的方式來解釋hadoop。「層疊結構」中,上一層的結構依賴於下一層提供的資源。如下圖中,B和c依賴a提供的資源,而b和c之間無任何依賴關係。
hadoop就是一個這樣的「生態環境」,可以用下面的「層疊結構」圖來表示:
下面簡單介紹一部分,其他留給讀者自行了解。
- HDFS:分散式存儲文件系統,幾乎所有上層應用的基礎。
- YARN:用於調配底層資源、管理進程的管理器
- MapReduce:用於通過YARN調配的資源執行簡單程序
- Hive:高等級的編程模型,類似SQL的查詢
- Pig:高等級的編程模型,數據流腳本
推薦閱讀:
※陳書悅:大數據可否幫助炒股?
※從Google預測流感引發的大數據反思
※用Apache Spark進行大數據處理——第一部分:入門介紹
※大數據計數原理1+0=1這你都不會算(九)No.64
※Kibana 日誌查詢
TAG:大數據 |