天天看點

大資料是什麼?(Hadoop代表)

大資料

什麼是大資料,實實在在的說大學快上完了我真的沒有搞清楚什麼是大資料,學大資料是用來幹什麼的,學大資料到底學什麼,如何學好大資料,如今面臨着找工作我才想起來恍恍惚惚已經四年這樣碌碌無為的過去了,我在大資料這個問題上到現在還是問号沒有變成句号,看了很多大佬的解說,各抒己見。

什麼是大資料?

指不能夠在指定的時間内使用正常的軟體工具進行挖掘、分析以及處理的大型資料集合。通俗講:

·擁有海量的資料

·對海量資料的挖掘分析資料需求

·使用什麼工具對海量資料進行挖掘分析

大資料解決的問題

大資料解決了海量資料的存儲,查詢以及資料的綜合分析,了解使用者的興趣愛好,挖掘出共同的特點,挖掘出隐含的價值資訊。比如:很多平台會根據自生的日常愛好特點,給你制定你自己的一個範圍愛好。例如你刷視訊,今明天刷一樣類型的視訊,漸漸的這類視訊将在你打開時自動呈現出來,屏蔽了一些其他的視訊。

學習大資料必須掌握的内容

海量資料的存儲

Hdfs、Hive、Hbase、Es

hdfs(分布式檔案系統):實作将檔案分布在很多的伺服器之上

hdfs的工作原理:

1、客戶将檔案存入hdfs中,hdfs會将其進行切塊處理,然後分散到很多台的linux機器系統中(data node——>主要負責存儲檔案的角色)

2、切塊之後必須要有一個記錄使用者的每一個檔案切塊資訊的機制(name node ——>主節點)

3、為了安全起見,hdfs可以将每個檔案塊在叢集中存放到多個副本中(副本的多少由用戶端決定)

海量資料的分析和處理

MapReduce、Spark、SQL

MapReduce(分布式運算程式設計架構——分而治之思想)

Map:主要負責分的任務

·資料的規模相對于原任務要大大的縮小

·要選擇就近原則,将任務要配置設定到存放着所需資料的節點上計算

·使的這些分後的小任務之間能夠并行計算,彼此之間幾乎不存在依賴的關系

Reduce:是對map的階段的結果進行彙總處理

對Map過程中輸出的鍵值對(k;

v)進行合并處理,後reduce傳入中間結果清單資料進行某種處理,最終輸出(k1;v1)

海量資料的(MapReduce)分析排程資源

YARN(分布式資源排程平台):幫助使用者協調大量的運算資源,是一個資源管理、任務排程的架構。主要子產品:RM、NM、AM

RM(ResourManager)負責所有資源的監控、配置設定和管理

NM(NodeManager)負責每一個節點的維護

AM(ApplicationMaster)負責每一個具體應用程式的排程和協調

YARN的特征

· yarn 并不清楚使用者送出的程式的運作機制

· yarn 隻提供運算資源的排程(使用者程式向 yarn 申請資源,yarn 就負責配置設定資源)

· yarn 中的主管角色叫ResourceManager

· yarn 中具體提供運算資源的角色叫 NodeManager

· yarn 與運作的使用者程式完全解耦,意味着 yarn 上可以運作各種類型的分布式運算程式

· spark、storm 等運算架構都可以整合在 yarn 上運作,隻要他們各自的架構中有符合 yarn 規範的資源請求機制即可

· yarn 成為一個通用的資源排程平台,提高資源使用率,友善資料共享

學好Hadoop=學好了大資料

Hadoop主要核心組成:(HDFS——>檔案系統 +MapReduce——>程式設計架構 +YARN——>資源排程平台)