1. 程式人生 > >一篇文章帶你弄懂大資料!

一篇文章帶你弄懂大資料!

一、大資料是什麼?

大資料,big data,《大資料》一書對大資料這麼定義,大資料是指不能用隨機分析法(抽樣調查)這樣捷徑,而採用所有資料進行分析處理。

這句話至少傳遞兩種資訊:

1、大資料是海量的資料

2、大資料處理無捷徑,對分析處理技術提出了更高的要求

歡迎加入大資料交流群:658558542 一起吹水交流學習

二、大資料的處理流程

下圖是資料處理流程:
一篇文章帶你弄懂大資料!
歡迎加入大資料交流群:658558542 一起吹水交流學習
1、底層是數以千億計的資料來源,資料來源可以是SCM(供應鏈資料),4PL(物流資料),CRM(客戶資料),網站日誌以及其他的資料

2、第二層是資料加工層,資料工程師對資料來源按照標準的統計口徑和指標對資料進行抽取、清洗、轉化、裝載(整個過程簡稱ELT)

3、第三層是資料倉庫,加工後的資料流入資料倉庫,進行整合和儲存,形成一個又一個數據集市。

資料集市,指分類儲存資料的集合,即按照不同部門或使用者的需求儲存資料。

4、第四層是BI(商業智慧),按照業務需求,對資料進行分析建模、挖掘、運算,輸出統一的資料分析平臺

5、第五層是資料訪問層,對不同的需求方開放不同的資料角色和許可權,以資料驅動業務。

大資料的量級,決定了大資料處理及應用的難度,需要利用特定的技術工具去處理大資料。

歡迎加入大資料交流群:658558542 一起吹水交流學習

三、大資料處理技術

以最常使用的Hadoop為例:

Hadoop是Apache公司開發的一個開源框架,它允許在整個叢集使用簡單程式設計模型計算機的分散式環境儲存並處理大資料。

叢集是指,2臺或2臺以上伺服器構建節點,提供資料服務。單臺伺服器,無法處理海量的大資料。伺服器越多,叢集的威力越大。

Hadoop類似於一個數據生態圈,不同的模組各司其職。下圖是Hadoop官網的生態圖。
一篇文章帶你弄懂大資料!
歡迎加入大資料交流群:658558542 一起吹水交流學習
Hadoop的LOGO是一隻靈活的大象。關於LOGO的來源,網上眾說紛紜,有人說,是因為大象象徵龐然大物,指代大資料,Hadoop讓大資料變得靈活。而官方蓋章,LOGO來源於創始人Doug Cutting的孩子曾為一個大象玩具取名hadoop。

從上圖可以看出,Hadoop的核心是HDFS,YARN和Map Reduce,下面和大家講一講,幾個主要模組的含義和功能。

1、HDFS(分散式檔案儲存系統)

資料以塊的形式,分佈在叢集的不同節點。在使用HDFS時,無需關心資料是儲存在哪個節點上、或者是從哪個節點從獲取的,只需像使用本地檔案系統一樣管理和儲存檔案系統中的資料。

2、Map Reduce(分散式計算框架)

分散式計算框架將複雜的資料集分發給不同的節點去操作,每個節點會週期性的返回它所完成的工作和最新的狀態。大家可以結合下圖理解Map Reduce原理:
一篇文章帶你弄懂大資料!
歡迎加入大資料交流群:658558542 一起吹水交流學習
計算機要對輸入的單詞進行計數:

如果採用集中式計算方式,我們要先算出一個單詞如Deer出現了多少次,再算另一個單詞出現了多少次,直到所有單詞統計完畢,將浪費大量的時間和資源。

如果採用分散式計算方式,計算將變得高效。我們將資料隨機分配給三個節點,由節點去分別統計各自處理的資料中單詞出現的次數,再將相同的單詞進行聚合,輸出最後的結果。

3、YARN(資源排程器)

相當於電腦的工作管理員,對資源進行管理和排程。

4、HBASE(分散式資料庫)

HBase是非關係型資料庫(Nosql),在某些業務場景下,資料儲存查詢在Hbase的使用效率更高。

關於關係型資料庫和菲關係型資料庫的區別,會在以後的文章進行詳述。

5、HIVE(資料倉庫)

HIVE是基於Hadoop的一個數據倉庫工具,可以用SQL的語言轉化成Map Reduce任務對hdfs資料的查詢分析。HIVE的好處在於,使用者無需寫Map Reduce任務,只需要掌握SQL即可完成查詢分析工作。

6、 Spark(大資料計算引擎)

Spark是專為大規模資料處理而設計的快速通用的計算引擎

7、Mahout(機器學習挖掘庫)

Mahout是一個可擴充套件的機器學習和資料探勘庫

8、Sqoop

Sqoop可以將關係型資料庫匯入Hadoop的HDFS中,也可以將HDFS的資料導進到關係型資料庫中

除上述模組外,Hadoop還有Zookeeper、Chukwa等多種模組,因為是開源的,所以未來還有出現更多更高效的模組,大家感興趣可以上網瞭解。

通過Hadoop強大的生態圈,完成大資料處理流程。

在不久的將來,多智時代一定會徹底走入我們的生活,有興趣入行未來前沿產業的朋友,可以留心多智時代,及時獲取人工智慧、大資料、雲端計算和物聯網的前沿資訊和基礎知識,讓我們一起攜手,引領人工智慧的未來!

為了幫助大家讓學習變得輕鬆、高效,給大家免費分享一大批資料,幫助大家在成為大資料工程師,乃至架構師的路上披荊斬棘。在這裡給大家推薦一個大資料學習交流圈:658558542 歡迎大家進×××流討論,學習交流,共同進步。

當真正開始學習的時候難免不知道從哪入手,導致效率低下影響繼續學習的信心。

但最重要的是不知道哪些技術需要重點掌握,學習時頻繁踩坑,最終浪費大量時間,所以有有效資源還是很有必要的。

最後祝福所有遇到瓶疾且不知道怎麼辦的大資料程式設計師們,祝福大家在往後的工作與面試中一切順利。