-
1 # zagsoft
-
2 # 大學生程式設計指南
正常來講學習大資料之前都要做到以下幾點
1.學習基礎的程式語言(java,python)
2.掌握入門程式設計基礎(linux操作,資料庫操作、git操作)
3.學習大資料裡面的各種框架(hadoop、hive、hbase、spark)
這是正常學習大資料必須要做到的三個步驟,如果有了java基礎再去學習基本上已經成功了一半,起碼不用為了基礎語言的學習而惱火了。
真正的大資料的學習不能僅僅停留在理論的層面上,比如現在經常用到的spark框架目前支援兩種語言的開發java或者Scala,現在python語言也能支援了。大資料的方向的切入是全方位的基礎語言的學習只是很小的一個方面,程式設計落實到最後到程式設計思想,有了指導思想學習起來就能方便很多。
大資料在使用過程中因為涉及很多框架的部署,而且大部分的部署都在linux環境下,所以掌握linux基本的命令是必須具備的,linux雖然在桌面系統上應用範圍不是很廣泛,但在伺服器端還是收到很大的推崇,命令的學習相對而言還是比較簡單。
大資料主流的框架hadoop了,裡面涉及到的框架又是非常的龐大,以致於很多人覺得學習大資料就是學習hadoop了,畢竟屬於主流體系,但很多公司的做法是幾個框架混合起來使用,達到最高的效果。
有了java基礎切入會感覺好很多,畢竟掌握了一門程式語言,計算機語言的感覺有了,切換場景學習而已,沒有什麼本質的區別。有了java基礎自己找些框架資料,動手做點實際的小專案,就可以了,有些東西沒有想象的那麼難,就看付出多少功夫了。
-
3 # 八爺的江湖醉
1、學習大資料,首先要對大資料的理論有一個深入的瞭解,比如什麼是大資料,大資料一般運用在什麼領域等相關知識
3、學習過後可以參加阿里雲的一個關於大資料的考試認證,來檢驗下自己的學習成果,同時也有線上的培訓課程可以參考報名
4、充分運用所學知識進行實戰,如果沒有好的專案練手,可以嘗試從資料採集和分析資料入手,逐步累積。可以用百度關鍵詞規劃師來找相關詞的資料然後再來找行業相關資料。
-
4 # IT大資料科技
Java軟體開發者,如何學習大資料,這個問題很好,我想java開發者有80%的人,想過這個問題,就我個人經驗來說,Java開發者轉大資料是好轉的,首先,我們有java技術,因為很多大資料的技術都是用java語言開發的,比如大資料中用的最廣的技術hadoop技術是用java語言開發的,如果你想做hadoop的二次開發,那麼你是有很好的開發經驗的,還有大資料中的hive資料倉庫,也是用java語言開發的,而且hive使用很簡單,是用的hql語言的,這種語言和sql語言用法相似,對於java開發人員來說這肯定是小菜一碟啦!還有hadoop的nosql資料庫hbase,也是java開發的,對於編寫hbase的相關程式對你來說也是小case,還有strom實時處理技術等等好多都是java開發的,而且好多的大資料技術都有java開發的api,想kafka和spark都有的,而且,你還有之前的工作經驗,想轉大資料很輕鬆,想拿高薪的話,那就深入學習一下這些大資料技術吧!很有趣的。
-
5 # 程式魚哥
作為java軟體開發者,相信已經有了足夠的java開發基礎和程式語言學習基礎。大資料作為一門新的java技術,如何學習和掌握這門知識最迫切需要的就是明晰它的知識體系和學習路線,有了路線,不愁學不會。剛好我有一份學習大資料的知識體系和學習路線,以饗大家。
大資料學習路線(非常全面)
一、知識體系Linux(shell,高併發架構,lucene,solr,elasticsearch)
Hadoop(Hadoop,HDFS,Mapreduce,yarn,hive,hbase,sqoop,zookeeper,flume)
機器學習(R,mahout) Storm(Storm,kafka,redis)
Spark(scala,spark,spark core,spark sql,spark streaming,spark mllib,spark graphx)
Python(python,spark python)
雲計算平臺(docker,kvm,openstack)
二、詳細解釋1、Linux
lucene: 全文檢索引擎的架構
solr: 基於lucene的全文搜尋伺服器,實現了可配置、可擴充套件並對查詢效能進行了最佳化,並且提供了一個完善的功能管理介面。
2、Hadoop
HDFS: 分散式儲存系統,包含NameNode,DataNode。NameNode:元資料,DataNode。DataNode:存數資料。
yarn: 可以理解為MapReduce的協調機制,本質就是Hadoop的處理分析機制,分為ResourceManager NodeManager。
MapReduce: 軟體框架,編寫程式。
Hive: 資料倉庫 可以用SQL查詢,可以執行Map/Reduce程式。用來計算趨勢或者網站日誌,不應用於實時查詢,需要很長時間返回結果。
HBase: 資料庫。非常適合用來做大資料的實時查詢。Facebook用Hbase儲存訊息資料並進行訊息實時的分析
ZooKeeper: 針對大型分散式的可靠性協調系統。Hadoop的分散式同步等靠Zookeeper實現,例如多個NameNode,active standby切換。
Sqoop: 資料庫相互轉移,關係型資料庫和HDFS相互轉移
Mahout: 可擴充套件的機器學習和資料探勘庫。用來做推薦挖掘,聚集,分類,頻繁項集挖掘。
Chukwa: 開源收集系統,監視大型分散式系統,建立在HDFS和Map/Reduce框架之上。顯示、監視、分析結果。
Ambari: 用於配置、管理和監視Hadoop叢集,基於Web,介面友好。
3、Cloudera
Cloudera Manager: 管理 監控 診斷 整合 Cloudera CDH:(Cloudera"s Distribution,including Apache Hadoop) Cloudera對Hadoop做了相應的改變,發行版本稱為CDH。
Cloudera Flume: 日誌收集系統,支援在日誌系統中定製各類資料傳送方,用來收集資料。
Cloudera Impala: 對儲存在Apache Hadoop的HDFS,HBase的資料提供直接查詢互動的SQL。
Cloudera hue: web管理器,包括hue ui,hui server,hui db。hue提供所有CDH元件的shell介面的介面,可以在hue編寫mr。
4、機器學習/R
R: 用於統計分析、繪圖的語言和操作環境,目前有Hadoop-R mahout: 提供可擴充套件的機器學習領域經典演算法的實現,包括聚類、分類、推薦過濾、頻繁子項挖掘等,且可透過Hadoop擴充套件到雲中。
5、storm
Storm: 分散式,容錯的實時流式計算系統,可以用作實時分析,線上機器學習,資訊流處理,連續性計算,分散式RPC,實時處理訊息並更新資料庫。
Kafka: 高吞吐量的分散式釋出訂閱訊息系統,可以處理消費者規模的網站中的所有動作流資料(瀏覽,搜尋等)。相對Hadoop的日誌資料和離線分析,可以實現實時處理。目前透過Hadoop的並行載入機制來統一線上和離線的訊息處理
Redis: 由c語言編寫,支援網路、可基於記憶體亦可持久化的日誌型、key-value型資料庫。
6、Spark
Scala: 一種類似java的完全面向物件的程式語言。
jblas: 一個快速的線性代數庫(JAVA)。基於BLAS與LAPACK,矩陣計算實際的行業標準,並使用先進的基礎設施等所有的計算程式的ATLAS藝術的實現,使其非常快。
Spark: Spark是在Scala語言中實現的類似於Hadoop MapReduce的通用並行框架,除了Hadoop MapReduce所具有的優點,但不同於MapReduce的是job中間輸出結果可以儲存在記憶體中,從而不需要讀寫HDFS,因此Spark能更好的適用於資料探勘與機器學習等需要迭代的MapReduce演算法。可以和Hadoop檔案系統並行運作,用過Mesos的第三方叢集框架可以支援此行為。
Spark SQL: 作為Apache Spark大資料框架的一部分,可用於結構化資料處理並可以執行類似SQL的Spark資料查詢
Spark Streaming: 一種構建在Spark上的實時計算框架,擴充套件了Spark處理大資料流式資料的能力。
Spark MLlib: MLlib是Spark是常用的機器學習演算法的實現庫,目前(2014.05)支援二元分類,迴歸,聚類以及協同過濾。同時也包括一個底層的梯度下降最佳化基礎演算法。MLlib以來jblas線性代數庫,jblas本身以來遠端的Fortran程式。
Spark GraphX: GraphX是Spark中用於圖和圖平行計算的API,可以在Spark之上提供一站式資料解決方案,可以方便且高效地完成圖計算的一整套流水作業。
Fortran: 最早出現的計算機高階程式設計語言,廣泛應用於科學和工程計算領域。
BLAS: 基礎線性代數子程式庫,擁有大量已經編寫好的關於線性代數運算的程式。
LAPACK: 著名的公開軟體,包含了求解科學與工程計算中最常見的數值線性代數問題,如求解線性方程組、線性最小二乘問題、特徵值問題和奇異值問題等。
ATLAS: BLAS線性演算法庫的最佳化版本。
Spark Python: Spark是由scala語言編寫的,但是為了推廣和相容,提供了java和python介面。
7、Python
Python: 一種面向物件的、解釋型計算機程式設計語言。
8、雲計算平臺 Docker: 開源的應用容器引擎 kvm: (Keyboard Video Mouse)
openstack: 開源的雲計算管理平臺專案。
【無情懷,不編碼。做一個有情懷的碼農,雖千萬人,吾往矣!】 關注java自學、java技術、求職領域,為你導航領路,指點迷津,分享學習感受和技能經驗。歡迎點贊、轉發、關注和留言,任何java學習或求職面試問題可以留言私信,有問必答。 -
6 # 海牛學院大資料培訓
java大資料,其實就是大資料開發!
我給你分享一套完整的大資料課程大綱,讓你一目瞭然!知道該從哪裡開始學,怎麼的一個學習流程
-
7 # 噠雪無痕
大資料是目前網際網路行業流行的技術術語,因此衍生了許多與大資料相關的行業。大資料的應用是透過資料探勘和分析來影響業務決策的。
大資料有很重要的價值,對於企業公司來說很重要,要問大資料工程師的工作是怎麼?一個很重要的工作就是透過分析資料來找出過去事件的特徵。比如,騰訊的資料團隊正在搭建一個數據倉庫,把公司所有網路平臺上數量龐大、不規整的資料資訊進行梳理,總結出可供查詢的特徵,來支援公司各類業務對資料的需求,包括廣告投放、遊戲開發、社交網路等。
目前,與資料有關的人才剛剛起步,人才市場還不太成熟,“你很難指望有一個全才來完成整個環節中的所有環節。”。更多公司將根據現有資源和短板招聘與現有團隊互補的人才。
大資料學習java初學者如何開始
總之,大資料技術是學習java的一些大資料技術,對java的基礎。現在一些大公司都提出了更高的要求,對程式設計師來說,不僅要精通java開發技術,而且要了解大資料技術。這是一種趨勢,更是追求更高質量的人才。
大資料的java工程師的能力是什麼?
我們常說的程式設計學習數學知識,特別是對於大資料工程師來說,大型網際網路公司都希望是具有高度統計和數學背景的人才,實踐能力和開發大規模資料處理能力是大資料工程師必備的一些要素。
java的大資料工程師的收入可以說是高。由於人才少,資料量大,所以大部分的公司資料部一般都是平級的模式,大致分為資料分析師,3級的高階研究員和主任工程師,大資料對企業和產品的瞭解,不亞於業務部門的員工,還可以把產品或營銷部。即使是公司的高階管理人員
-
8 # Coder行者
首先學習大資料是需要花很長的時間的,現在的元件多。不像前幾年,會幾項就可以了。
重點是在學習大資料的過程中,要多花時間,比你學JAVA的時間還要長。最快速的辦法是報培訓班,其次在網上買一些影片和書籍。還要找一個懂大資料的話,經常問他。萬一你在網上買的影片,對市場已經過時了,就浪費了時間。
好好加油吧。
回覆列表
個人認為大資料是種架構,跟原來學什麼語言沒什關係的。學習大資料的過程中個人認為首先需要了解大資料的理論和常見服務系統的構建、配置和使用,到網上爬一些資料和資訊來做些試驗,當然,每個大資料應用都有他的主題,所以大資料的採集、分析和應用才是學習的核心。個人建議,僅供參考。