1. 程式人生 > >入門到精通:資深程式設計師規劃JAVA大資料學習路線(附視訊教程)

入門到精通:資深程式設計師規劃JAVA大資料學習路線(附視訊教程)

人類正在從IT時代走向DT(Data Technology)的時代。以網際網路、雲端計算、大資料和人工智慧為代表的技術革命正在滲透至各行各業,改變著我們的生活。

本文主要針對從事大資料開發的程式設計師們整理了整套的大資料學習相關的路線圖和知識材料,希望能幫助到大家。

很多初學者,對大資料的概念都是模糊不清的,大資料是什麼,能做什麼,學的時候,該按照什麼線路去學習,學完往哪方面發展,想深入瞭解,想學習的同學歡迎加入大資料學習qq群:199427210,有大量乾貨(零基礎以及進階的經典實戰)分享給大家,並且有清華大學畢業的資深大資料講師給大家免費授課,給大家分享目前國內最完整的大資料高階實戰實用學習流程體系


 

大資料相關技術

· MapReduce

本來自於谷歌一款名為MapReduce的程式設計模型包,通過把一個應用程式分解為許多平行計算指令,跨大量的計算節點執行非常巨大的資料集

· HDFS

一個分散式檔案系統(Hadoop Distributed File System),簡稱HDFS。HDFS有高容錯性的特點,並且設計用來部署在低廉的硬體上;而且它提供高吞吐量來訪問應用程式的資料,適合那些有著超大資料集的應用程式。

· Yarn

一種新的 Hadoop 資源管理器,它是一個通用資源管理系統,可為上層應用提供統一的資源管理和排程,它的引入為叢集在利用率、資源統一管理和資料共享等方面帶來了巨大好處

· Hive

Hive是基於Hadoop的一個數據倉庫工具,可以將結構化的資料檔案對映為一張資料庫表,並提供簡單的sql查詢功能,可以將sql語句轉換為MapReduce任務進行執行。其優點是學習成本低,可以通過類SQL語句快速實現簡單的MapReduce統計,不必開發專門的MapReduce應用,十分適合資料倉庫的統計分析。

· Hbase

HBase是一個分散式的、面向列的開源資料庫,也是NoSql資料庫的一種。HBase是Apache的Hadoop專案的子專案。HBase不同於一般的關係資料庫,它是一個適合於非結構化資料的基於列模式儲存的資料庫。

· Kafka

一個開源流處理平臺,由Scala和Java編寫。Kafka是一種高吞吐量的分散式釋出訂閱訊息系統,常作為一箇中間緩衝層。

· Flume

Flume是Cloudera提供的一個高可用的,高可靠的,分散式的海量日誌採集、聚合和傳輸的系統,Flume支援在日誌系統中定製各類資料傳送方,用於收集資料;同時Flume提供對資料進行簡單處理,並寫到各種資料接受方(可定製)的能力,常與Kafka結合使用。

· ElasticSearch

ElasticSearch是一個基於Lucene的搜尋伺服器。它提供了一個分散式多使用者能力的全文搜尋引擎,基於RESTful web介面。是當前流行的企業級搜尋引擎。設計用於雲端計算中,能夠達到實時搜尋,穩定,可靠,快速,安裝使用方便。

· Storm

Storm為分散式實時計算提供了一組通用原語,可被用於“流處理”之中,實時處理訊息並更新資料庫。這是管理佇列及工作者叢集的另一種方式。Storm也可被用於“連續計算”,對資料流做連續查詢,在計算時就將結果以流的形式輸出給使用者。

· Spark

專為大規模資料處理而設計的快速通用的計算引擎。Spark擁有Hadoop MapReduce所具有的優點;但不同於MapReduce的是——Job中間輸出結果可以儲存在記憶體中,從而不再需要讀寫HDFS,因此Spark能更好地適用於資料探勘與機器學習等需要迭代的MapReduce的演算法。

· Zookeeper

一個分散式的應用程式協調服務,是HDFS和Hbase等服務的重要元件。它是一個為分散式應用提供一致性服務的軟體,提供的功能包括:配置維護、域名服務、分散式同步、組服務等。

 

Hadoop生態圈相關技術

這裡只羅列出了主要的一些技術,更多相關的知識在教程中會進行學習

學習路線圖

 

 

 

希望能幫助到想要或者正在從事大資料開發的同學們。