大資料時代之你不得不知道的大資料概念

好程式設計師IT發表於2019-07-02
大資料:指無法在一定時間範圍內用常規軟體工具進行捕捉,管理和處理的資料集合,是需要新模式才能具有更強大的決策力,洞察發現力和流程最佳化能力的海量,高增長率和多樣化的資訊資產
最小的基本單位是bit,按順序給出所有單位:bit、Byte、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB。
1 Byte =8 bit 1 KB = 1,024 Bytes = 8192 bit 1 MB = 1,024 KB = 1,048,576 Bytes 1 GB = 1,024 MB = 1,048,576 KB 1 TB = 1,024 GB = 1,048,576 MB 1 PB = 1,024 TB = 1,048,576 GB 1 EB = 1,024 PB = 1,048,576 TB 1 ZB = 1,024 EB = 1,048,576 PB 1 YB = 1,024 ZB = 1,048,576 EB 1 BB = 1,024 YB = 1,048,576 ZB 1 NB = 1,024 BB = 1,048,576 YB 1 DB = 1,024 NB = 1,048,576 BB
主要解決,海量資料的儲存和海量資料的分析計算問題
大資料時代之你不得不知道的大資料概念

2 大資料的特點

1、大量。大資料的特徵首先就體現為“大”,從先Map3時代,一個小小的MB級別的Map3就可以滿足很多人的需求,然而隨著時間的推移,儲存單位從過去的GB到TB,乃至現在的PB、EB級別。隨著資訊科技的高速發展,資料開始爆發性增長。社交網路(微博、推特、臉書)-、行動網路、各種智慧工具,服務工具等,都成為資料的來源。淘寶網近4億的會員每天產生的商品交易資料約20TB;臉書約10億的使用者每天產生的日誌資料超過300TB。迫切需要智慧的演算法、強大的資料處理平臺和新的資料處理技術,來統計、分析、預測和實時處理如此大規模的資料。
2、多樣。廣泛的資料來源,決定了大資料形式的多樣性。任何形式的資料都可以產生作用,目前應用最廣泛的就是推薦系統,如淘寶,網易雲音樂、今日頭條等,這些平臺都會透過對使用者的日誌資料進行分析,從而進一步推薦使用者喜歡的東西。日誌資料是結構化明顯的資料,還有一些資料結構化不明顯,例如圖片、音訊、影片等,這些資料因果關係弱,就需要人工對其進行標註。
3、高速。大資料的產生非常迅速,主要透過網際網路傳輸。生活中每個人都離不開網際網路,也就是說每天個人每天都在向大資料提供大量的資料。並且這些資料是需要及時處理的,因為花費大量資本去儲存作用較小的歷史資料是非常不划算的,對於一個平臺而言,也許儲存的資料只有過去幾天或者一個月之內,再遠的資料就要及時清理,不然代價太大。基於這種情況,大資料對處理速度有非常嚴格的要求,伺服器中大量的資源都用於處理和計算資料,很多平臺都需要做到實時分析。資料無時無刻不在產生,誰的速度更快,誰就有優勢。
4、價值。這也是大資料的核心特徵。現實世界所產生的資料中,有價值的資料所佔比例很小。相比於傳統的小資料,大資料最大的價值在於透過從大量不相關的各種型別的資料中,挖掘出對未來趨勢與模式預測分析有價值的資料,並透過機器學習方法、人工智慧方法或資料探勘方法深度分析,發現新規律和新知識,並運用於農業、金融、醫療等各個領域,從而最終達到改善社會治理、提高生產效率、推進科學研究的效果

HADOOP背景介紹

1.1 什麼是HADOOP

介紹官網hadoop.apache.com  --> 看不懂可以使用百度翻譯
Apache Hadoop 為可靠的,可擴充套件的分散式計算開發開源軟體。 Apache Hadoop軟體庫是一個框架,它允許使用簡單的程式設計模型跨計算機群集分散式處理大型資料集(海量的資料)。 包括這些模組:
• Hadoop Common:支援其他Hadoop模組的常用工具。
• Hadoop分散式檔案系統(HDFS™):一種分散式檔案系統,可提供對應用程式資料的高吞吐量訪問。
• Hadoop YARN:作業排程和叢集資源管理的框架。
• Hadoop MapReduce:一種用於並行處理大型資料集的基於YARN的系統。
上述每個模組有自己獨立的功能,而模組之間又有相互的關聯。
廣義上來說,HADOOP通常是指一個更廣泛的概念——HADOOP生態圈
大資料時代之你不得不知道的大資料概念

1.2 HADOOP產生背景

雛形開始於2002年的Apache的Nutch,Nutch是一個開源Java 實現的搜尋引擎。它提供了我們執行自己的搜尋引擎所需的全部工具。包括全文搜尋和Web爬蟲。Nutch的設計目標是構建一個大型的全網搜尋引擎,包括網頁抓取、索引、查詢等功能,但隨著抓取網頁數量的增加,遇到了嚴重的可擴充套件性問題--------“ 如何解決數十億網頁的儲存和索引問題 ”。
• 2003年Google發表了一篇技術學術論文谷歌檔案系統(GFS)。GFS也就是google File System,google公司為了儲存海量搜尋資料而設計的專用檔案系統。
• 2004年Nutch創始人Doug Cutting基於Google的GFS論文實現了分散式檔案儲存系統名為NDFS。
ps:2003-2004年,Google公開了部分GFS和Mapreduce思想的細節,以此為基礎Doug Cutting等人用了2年業餘時間實現了DFS和Mapreduce機制,一個微縮版:Nutch
• 2004年Google又發表了一篇技術學術論文MapReduce。MapReduce是一種程式設計模型,用於大規模資料集(大於1TB)的並行分析運算。
• 2005年Doug Cutting又基於MapReduce,在Nutch搜尋引擎實現了該功能。
大資料時代之你不得不知道的大資料概念

國內外HADOOP應用案例介紹

• 大型網站Web伺服器的日誌分析:一個大型網站的Web伺服器叢集,每5分鐘收錄的點選日誌高達800GB左右,峰值點選每秒達到900萬次。每隔5分鐘將資料裝載到記憶體中,高速計算網站的熱點URL,並將這些資訊反饋給前端快取伺服器,以提高快取命中率。
大資料時代之你不得不知道的大資料概念
• 運營商流量經營分析:每天的流量資料在2TB~5TB左右,複製到HDFS上,透過互動式分析引擎框架,能執行幾百個複雜的資料清洗和報表業務,總時間比類似硬體配置的小型機叢集和DB2快2~3倍。
大資料時代之你不得不知道的大資料概念

1.5 國內HADOOP的就業情況分析

可以聯網查智聯
大資料方面的就業主要有三大方向:
• 資料分析類大資料人才 對應崗位 大資料系統研發工程師
• 系統研發類大資料人才 對應崗位 大資料應用開發工程師
• 應用開發類大資料人才 對應崗位 大資料分析師

大資料技術生態體系

大資料時代之你不得不知道的大資料概念
上圖中涉及到的技術名詞解釋如下:
1)Sqoop:sqoop 是一款開源的工具,主要用於在 Hadoop(Hive)與傳統的資料庫(mysql)間進 行資料的傳遞,可以將一個關係型資料庫(例如 : MySQL ,Oracle 等)中的資料導進到 Hadoop 的 HDFS 中,也可以將 HDFS 的資料導進到關係型資料庫中。
2)Flume:Flume 是 Cloudera 提供的一個高可用的,高可靠的,分散式的海量日誌採集、聚 合和傳輸的系統,Flume 支援在日誌系統中定製各類資料傳送方,用於收集資料;同時,Flume 提供對資料進行簡單處理,並寫到各種資料接受方(可定製)的能力。
3)Kafka:Kafka 是一種高吞吐量的分散式釋出訂閱訊息系統,有如下特性:
(1)透過 O(1)的磁碟資料結構提供訊息的持久化,這種結構對於即使數以 TB 的訊息 儲存也能夠保持長時間的穩定效能。  (2)高吞吐量:即使是非常普通的硬體 Kafka 也可以支援每秒數百萬的訊息 (3)支援透過 Kafka 伺服器和消費機叢集來分割槽訊息。
(4)支援 Hadoop 並行資料載入。
4)Storm:Storm 為分散式實時計算提供了一組通用原語,可被用於“流處理”之中,實時
處理訊息並更新資料庫。這是管理佇列及工作者叢集的另一種方式。 Storm 也可被用於“連
續計算”(continuous computation),對資料流做連續查詢,在計算時就將結果以流的形式
輸出給使用者。
5)Spark:Spark 是當前最流行的開源大資料記憶體計算框架。可以基於 Hadoop 上儲存的大資料進行計算。
6)Oozie:Oozie 是一個管理 Hdoop 作業(job)的工作流程排程管理系統。Oozie 協調作業 就是透過時間(頻率)和有效資料觸發當前的 Oozie 工作流程。
7)Hbase:HBase 是一個分散式的、面向列的開源資料庫。HBase 不同於一般的關聯式資料庫, 它是一個適合於非結構化資料儲存的資料庫。
8)Hive:hive 是基於 Hadoop 的一個資料倉儲工具,可以將結構化的資料檔案對映為一張 資料庫表,並提供簡單的 sql 查詢功能,可以將 sql 語句轉換為 MapReduce 任務進行執行。 其優點是學習成本低,可以透過類 SQL 語句快速實現簡單的 MapReduce 統計,不必開發專 門的 MapReduce 應用,十分適合資料倉儲的統計分析。
9)Mahout:
Apache Mahout是個可擴充套件的機器學習和資料探勘庫,當前Mahout支援主要的4個用 例:  推薦挖掘:蒐集使用者動作並以此給使用者推薦可能喜歡的事物。 聚集:收集檔案並進行相關檔案分組。 分類:從現有的分類文件中學習,尋找文件中的相似特徵,併為無標籤的文件進行正確 的歸類。
頻繁項集挖掘:將一組項分組,並識別哪些個別項會經常一起出現。
10)ZooKeeper:Zookeeper 是 Google 的 Chubby 一個開源的實現。它是一個針對大型分佈 式系統的可靠協調系統,提供的功能包括:配置維護、名字服務、 分散式同步、組服務等。 ZooKeeper 的目標就是封裝好複雜易出錯的關鍵服務,將簡單易用的介面和效能高效、功能 穩定的系統提供給使用者。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913892/viewspace-2649278/,如需轉載,請註明出處,否則將追究法律責任。

相關文章