大數(shù)據(jù)技術(shù)由淺入深依次掌握:
Java語言基礎(chǔ):
Java語言基礎(chǔ)、Java流程控制、Java字符串、Java數(shù)組與類和對象、數(shù)字處理類與核心技術(shù)、I/O與反射,多線程、Swing程序與集合類;
HTML、CSS與JavaScript:
PC端網(wǎng)站布局、HTML5+CSS3基礎(chǔ)、WebAPP頁面布局、原生javascript交互功能開發(fā)、Ajax異步交互、jQuery應(yīng)用;
JavaWeb和數(shù)據(jù)庫:
數(shù)據(jù)庫、javaWeb開發(fā)核心、JavaWeb開發(fā)內(nèi)幕;
Linux基礎(chǔ):
Linux安裝與配置、系統(tǒng)管理與目錄管理、用戶與用戶組管理、Shell編程、服務(wù)器配置、Vi編輯器與Emacs編輯器;
Hadoop生態(tài)體系:
Hadoop起源與安裝、MapReduce快速入門、Hadoop分布式文件系統(tǒng)、Hadoop文件I/O詳解、MapReduce工作原理、MapReduce編程開發(fā)、Hive數(shù)據(jù)倉庫工具、開源數(shù)據(jù)庫HBase、Sqoop與Oozie;
Spark生態(tài)體系:
Spark部署和運行、Spark程序開發(fā)、Spark編程模型、作業(yè)執(zhí)行解析、Spark SQL與DataFrame、深入Spark Streaming、Spark MLlib與機器學(xué)習(xí)、GraphX與SparkR、spark項目實戰(zhàn)、scala編程、Python編程;
Storm實時開發(fā):
storm基本知識、拓?fù)湓斀馀c組件詳解、Hadoop分布式系統(tǒng)、spout詳解與bolt詳解、zookeeper詳解、storm安裝與集群搭建、storm-starter詳解、開源數(shù)據(jù)庫HBase、trident詳解;
首先是基礎(chǔ)階段。
這一階段包括:關(guān)系型數(shù)據(jù)庫原理、LINUX操作系統(tǒng)原理及應(yīng)用。在掌握了這些基礎(chǔ)知識后,會安排這些基礎(chǔ)課程的進階課程,即:數(shù)據(jù)結(jié)構(gòu)與算法、MYSQL數(shù)據(jù)庫應(yīng)用及開發(fā)、SHELL腳本編程。
在掌握了這些內(nèi)容之后,大數(shù)據(jù)基礎(chǔ)學(xué)習(xí)階段才算是完成了。接下來是大數(shù)據(jù)專業(yè)學(xué)習(xí)的第二階段:大數(shù)據(jù)理論及核心技術(shù)。
第二階段也被分為了基礎(chǔ)和進階兩部分,先理解基礎(chǔ)知識,再進一步對知識內(nèi)容做深入的了解和實踐?;A(chǔ)部分包括:布式存儲技術(shù)原理與應(yīng)用、分布式計算技術(shù)、HADOOP集群搭建、運維;進階內(nèi)容包括:HDFS高可靠、ZOOKEEPER、CDH、Shuffle、HADOOP源碼分析、HIVE、HBASE、Mongodb、HADOOP項目實戰(zhàn)。
完成了這部分內(nèi)容的學(xué)習(xí),學(xué)員們就已經(jīng)掌握了大數(shù)據(jù)專業(yè)大部分的知識,并具有了一定的項目經(jīng)驗。但為了學(xué)員們在大數(shù)據(jù)專業(yè)有更好的發(fā)展,所學(xué)知識能更廣泛地應(yīng)用到大數(shù)據(jù)相關(guān)的各個崗位,有個更長遠的發(fā)展前景。
第三階段叫做數(shù)據(jù)分析挖掘及海量數(shù)據(jù)高級處理技術(shù)?;A(chǔ)部分有:PYTHON語言、機器學(xué)習(xí)算法、FLUME+KAFKA;進階部分有:機器學(xué)習(xí)算法庫應(yīng)用、實時分析計算框架、SPARK技術(shù)、PYTHON高級語言應(yīng)用、分布式爬蟲與反爬蟲技術(shù)、實時分析項目實戰(zhàn)、機器學(xué)習(xí)算法項目實戰(zhàn)。
前言,學(xué)大數(shù)據(jù)要先換電腦:
保證電腦4核8G內(nèi)存64位操作系統(tǒng),盡量有ssd做系統(tǒng)盤,否則卡到你喪失信心。硬盤越大越好。
1,語言要求
java剛?cè)腴T的時候要求javase。
scala是學(xué)習(xí)spark要用的基本使用即可。
后期深入要求:
java NIO,netty,多線程,ClassLoader,jvm底層及調(diào)優(yōu)等,rpc。
2,操作系統(tǒng)要求
linux 基本的shell腳本的使用。
crontab的使用,最多。
cpu,內(nèi)存,網(wǎng)絡(luò),磁盤等瓶頸分析及狀態(tài)查看的工具。
scp,ssh,hosts的配置使用。
telnet,ping等網(wǎng)絡(luò)排查命令的使用
3,sql基本使用
sql是基礎(chǔ),hive,sparksql等都需要用到,況且大部分企業(yè)也還是以數(shù)據(jù)倉庫為中心,少不了sql。
sql統(tǒng)計,排序,join,group等,然后就是sql語句調(diào)優(yōu),表設(shè)計等。
4,大數(shù)據(jù)基本了解
Zookeeper,hadoop,hbase,hive,sqoop,flume,kafka,spark,storm等這些框架的作用及基本環(huán)境的搭建,要熟練,要會運維,瓶頸分析。
5,mapreduce及相關(guān)框架hive,sqoop
深入了解mapreduce的核心思想。尤其是shuffle,join,文件輸入格式,map數(shù)目,reduce數(shù)目,調(diào)優(yōu)等。
6,hive和hbase等倉庫
hive和hbase基本是大數(shù)據(jù)倉庫的標(biāo)配。要回用,懂調(diào)優(yōu),故障排查。
hbase看浪尖hbase系列文章。hive后期更新。
7,消息隊列的使用
kafka基本概念,使用,瓶頸分析??蠢思鈑afka系列文章。
8,實時處理系統(tǒng)
storm和spark Streaming
9,spark core和sparksql
spark用于離線分析的兩個重要功能。
10,最終方向決策
a),運維。(精通整套系統(tǒng)及故障排查,會寫運維腳本啥的。)
b),數(shù)據(jù)分析。(算法精通)
c),平臺開發(fā)。(源碼精通)
自學(xué)還是培訓(xùn)?
無基礎(chǔ)的同學(xué),培訓(xùn)之前先搞到視頻通學(xué)一遍,防止盲目培訓(xùn)跟不上講師節(jié)奏,浪費時間,精力,金錢。
有基礎(chǔ)的盡量搞點視頻學(xué)基礎(chǔ),然后跟群里大牛交流,前提是人家愿意,
想辦法跟大牛做朋友才是王道。
學(xué)習(xí)要根據(jù)自身情況來定,如果你是零基礎(chǔ),那就必須先從基礎(chǔ)Java開始學(xué)起(大數(shù)據(jù)支持很多開發(fā)語言,但企業(yè)用的最多的還是JAVA),接下來學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)、Linux系統(tǒng)操作、關(guān)系型數(shù)據(jù)庫,夯實基礎(chǔ)之后,再進入大數(shù)據(jù)的學(xué)習(xí),具體可以按照如下體系:第一階段CORE JAVA (加**的需重點熟練掌握,其他掌握)Java基礎(chǔ)**數(shù)據(jù)類型,運算符、循環(huán),算法,順序結(jié)構(gòu)程序設(shè)計,程序結(jié)構(gòu),數(shù)組及多維數(shù)組面向?qū)ο?*構(gòu)造方法、控制符、封裝繼承**多態(tài)**抽象類、接口**常用類集合Collection、list**HashSet、TreeSet、Collection集合類Map**異常,F(xiàn)ile文件/流**數(shù)據(jù)流和對象流**線程(理解即可)網(wǎng)絡(luò)通信(理解即可)第二階段數(shù)據(jù)結(jié)構(gòu)關(guān)系型數(shù)據(jù)庫Linux系統(tǒng)操作Linux操作系統(tǒng)概述,安裝Linux操作系統(tǒng),圖形界面操作基礎(chǔ),Linux字符界面基礎(chǔ),字符界面操作進階,用戶、組群和權(quán)限管理,文件系統(tǒng)管理,軟件包管理與系統(tǒng)備份,Linux網(wǎng)絡(luò)配置 (主要掌握Linux操作系統(tǒng)的理論基礎(chǔ)和服務(wù)器配置實踐知識,同時通過大量實驗,著重培養(yǎng)動手能力。
了解Linux操作系統(tǒng)在行業(yè)中的重要地位和廣泛的使用范圍。在學(xué)習(xí)Linux的基礎(chǔ)上,加深對服務(wù)器操作系統(tǒng)的認(rèn)識和實踐配置能力。
加深對計算機網(wǎng)絡(luò)基礎(chǔ)知識的理解,并在實踐中加以應(yīng)用。掌握Linux操作系統(tǒng)的安裝、命令行操作、用戶管理、磁盤管理、文件系統(tǒng)管理、軟件包管理、進程管理、系統(tǒng)監(jiān)測和系統(tǒng)故障排除。
掌握Linux操作系統(tǒng)的網(wǎng)絡(luò)配置、DNS、DHCP、HTTP、FTP、SMTP和POP3服務(wù)的配置與管理。為更深一步學(xué)習(xí)其它網(wǎng)絡(luò)操作系統(tǒng)和軟件系統(tǒng)開發(fā)奠定堅實的基礎(chǔ)。
與此同時,如果大家有時間把javaweb及框架學(xué)習(xí)一番,會讓你的大數(shù)據(jù)學(xué)習(xí)更自由一些)重點掌握:常見算法數(shù)據(jù)庫表設(shè)計,SQL語句,Linux常見命令第三階段Hadoop階段離線分析階段實時計算階段重點掌握:Hadoop基礎(chǔ),HDFS,MapReduce,分布式集群,Hive,Hbase,Sqoop,Pig,Storm實時數(shù)據(jù)處理平臺,Spark平臺。
第一階段:linux基礎(chǔ)入門
Linux基礎(chǔ)入門主要包括: Linux硬件基礎(chǔ)、Linux發(fā)展歷史、Linux系統(tǒng)安裝、xshell連接、xshell優(yōu)化、SSH遠程連接故障問題排查、L inux基礎(chǔ)優(yōu)化、Linux目錄結(jié)構(gòu)知識、Linux文件屬性、Linux通配符、正則表達式、Linux系統(tǒng)權(quán)限等
第二階段:linux系統(tǒng)管理進階
linux系統(tǒng)管理進階包括:Linux定時任務(wù)、Linux用戶管理、Linux磁盤與文件系統(tǒng)、Linux三劍客之sed命令等。
第三階段:Linux Shell基礎(chǔ)
Linux Shell基礎(chǔ)包括:Shell編程基礎(chǔ)、Linux三劍客之a(chǎn)wk命令等。
第四階段:Linux網(wǎng)絡(luò)基礎(chǔ)
第五階段:Linux網(wǎng)絡(luò)服務(wù)
Linux網(wǎng)絡(luò)服務(wù)包括:集群實戰(zhàn)架構(gòu)開始及環(huán)境準(zhǔn)備、rsync數(shù)據(jù)同步服務(wù)、Linux全網(wǎng)備份項目、nfs網(wǎng)絡(luò)存儲服務(wù)精講、inotify/sersync實時數(shù)據(jù)同步/nfs存儲實時備份項目等。
第六階段:Linux重要網(wǎng)絡(luò)服務(wù)
Linux重要網(wǎng)絡(luò)服務(wù)包括:http協(xié)議/www服務(wù)基礎(chǔ)、nginx web介紹及基礎(chǔ)實踐、nginx web、lnmp環(huán)境部署/數(shù)據(jù)庫異機遷移/共享數(shù)據(jù)異機遷移到NFS系統(tǒng)、nginx負(fù)載均衡、keepalived高可用等。
第七階段:Ansible自動化運維與Zabbix監(jiān)控
Ansible自動化運維與Zabbix監(jiān)控包括: SSH服務(wù)秘鑰認(rèn)證、ansible批量自動化管理集群、zabbix監(jiān)控等。
第九階段:大規(guī)模集群高可用服務(wù)(Lvs、Keepalived)
第十階段:Java Tomcat服務(wù)及防火墻Iptables
第十一階段:MySQL DBA高級應(yīng)用實踐
MySQL DBA高級應(yīng)用實踐包括:MySQL數(shù)據(jù)庫入門基礎(chǔ)命令、MySQL數(shù)據(jù)庫進階備份恢復(fù)、MySQL數(shù)據(jù)庫深入事務(wù)引擎、MySQL數(shù)據(jù)庫優(yōu)化SQL語句優(yōu)化、MySQL數(shù)據(jù)庫集群主從復(fù)制/讀寫分離、MySQL數(shù)據(jù)庫高可用/mha/keepalved等。
第十二階段:高性能數(shù)據(jù)庫Redis和Memcached課程
第十三階段:Linux大規(guī)模集群架構(gòu)構(gòu)建(200臺)
第十四階段:Linux Shell編程企業(yè)案例實戰(zhàn)
第十五階段:企業(yè)級代碼發(fā)布上線方案(SVN和Git)
第十六階段企業(yè)級Kvm虛擬化與OpenStack云計算
第十七階段公有云阿里云8大組件構(gòu)建集群實戰(zhàn)
第十八階段:Docker技術(shù)企業(yè)應(yīng)用實踐
第十九階段:Python自動化入門及進階
第二十階段:職業(yè)規(guī)劃與高薪就業(yè)指導(dǎo)
在平臺方面,hadoop環(huán)境需要搭建在linux服務(wù)器上,首先需要了解Linux的基礎(chǔ)知識與命令;
開發(fā)方面,hadoop首先是個提供大數(shù)據(jù)存儲的平臺,因此我們要使用其存儲功能,因此需要掌握其數(shù)據(jù)操作的api(scala api 或者 java api);其次是hadoop是大數(shù)據(jù)分析的數(shù)據(jù)源,熟悉對大數(shù)據(jù)的 分析/使用 方法(spark/map-reduce技術(shù),都有scala 和 java兩種api)。
因此,學(xué)習(xí)hadoop必須掌握scala或者java中的一門開發(fā)語言,然后在學(xué)習(xí)hadoop數(shù)據(jù)操作命令,api,spark/map-reduce分析技術(shù)。
另外,還可以學(xué)習(xí)hbase這種基于hdfs的結(jié)構(gòu)化大數(shù)據(jù)存儲技術(shù),和flume大數(shù)據(jù)采集技術(shù)。
學(xué)習(xí)大數(shù)據(jù)要有一定的編程基礎(chǔ),這是大數(shù)據(jù)大部分崗位都需要的。
目前從事大數(shù)據(jù)方向的程序員比較普遍使用的語言有四種,分別是Python、Java、Scala和R,這四種語言都有一定的應(yīng)用場景,不同崗位的程序員使用的語言也稍有不同。Python目前主要是應(yīng)用在數(shù)據(jù)分析、數(shù)據(jù)挖掘和算法實現(xiàn)上,可以說大數(shù)據(jù)領(lǐng)域Python的應(yīng)用是比較普遍的。
Java目前在大數(shù)據(jù)領(lǐng)域的應(yīng)用還是跟平臺有直接關(guān)系,通常在需要高性能的數(shù)據(jù)處理部分采用Java開發(fā)。Scala和R主要是基于場景的應(yīng)用多一些,Scala構(gòu)建在Java基礎(chǔ)之上,代碼結(jié)構(gòu)要比Java簡潔一些,同時Scala是Spark的實現(xiàn)語言,在與Spark相關(guān)的開發(fā)中使用Scala是比較方面的選擇。
R語言本身的特點就是統(tǒng)計分析,語法簡單且功能強大,是做大數(shù)據(jù)統(tǒng)計分析的一把利器。
第一階段:linux基礎(chǔ)入門Linux基礎(chǔ)入門主要包括: Linux硬件基礎(chǔ)、Linux發(fā)展歷史、Linux系統(tǒng)安裝、xshell連接、xshell優(yōu)化、SSH遠程連接故障問題排查、L inux基礎(chǔ)優(yōu)化、Linux目錄結(jié)構(gòu)知識、Linux文件屬性、Linux通配符、正則表達式、Linux系統(tǒng)權(quán)限等第二階段:linux系統(tǒng)管理進階linux系統(tǒng)管理進階包括:Linux定時任務(wù)、Linux用戶管理、Linux磁盤與文件系統(tǒng)、Linux三劍客之sed命令等。
第三階段:Linux Shell基礎(chǔ)Linux Shell基礎(chǔ)包括:Shell編程基礎(chǔ)、Linux三劍客之a(chǎn)wk命令等。第四階段:Linux網(wǎng)絡(luò)基礎(chǔ)第五階段:Linux網(wǎng)絡(luò)服務(wù)Linux網(wǎng)絡(luò)服務(wù)包括:集群實戰(zhàn)架構(gòu)開始及環(huán)境準(zhǔn)備、rsync數(shù)據(jù)同步服務(wù)、Linux全網(wǎng)備份項目、nfs網(wǎng)絡(luò)存儲服務(wù)精講、inotify/sersync實時數(shù)據(jù)同步/nfs存儲實時備份項目等。
第六階段:Linux重要網(wǎng)絡(luò)服務(wù)Linux重要網(wǎng)絡(luò)服務(wù)包括:http協(xié)議/www服務(wù)基礎(chǔ)、nginx web介紹及基礎(chǔ)實踐、nginx web、lnmp環(huán)境部署/數(shù)據(jù)庫異機遷移/共享數(shù)據(jù)異機遷移到NFS系統(tǒng)、nginx負(fù)載均衡、keepalived高可用等。第七階段:Ansible自動化運維與Zabbix監(jiān)控Ansible自動化運維與Zabbix監(jiān)控包括: SSH服務(wù)秘鑰認(rèn)證、ansible批量自動化管理集群、zabbix監(jiān)控等。
第九階段:大規(guī)模集群高可用服務(wù)(Lvs、Keepalived)第十階段:Java Tomcat服務(wù)及防火墻Iptables第十一階段:MySQL DBA高級應(yīng)用實踐MySQL DBA高級應(yīng)用實踐包括:MySQL數(shù)據(jù)庫入門基礎(chǔ)命令、MySQL數(shù)據(jù)庫進階備份恢復(fù)、MySQL數(shù)據(jù)庫深入事務(wù)引擎、MySQL數(shù)據(jù)庫優(yōu)化SQL語句優(yōu)化、MySQL數(shù)據(jù)庫集群主從復(fù)制/讀寫分離、MySQL數(shù)據(jù)庫高可用/mha/keepalved等。第十二階段:高性能數(shù)據(jù)庫Redis和Memcached課程第十三階段:Linux大規(guī)模集群架構(gòu)構(gòu)建(200臺)第十四階段:Linux Shell編程企業(yè)案例實戰(zhàn)第十五階段:企業(yè)級代碼發(fā)布上線方案(SVN和Git)第十六階段企業(yè)級Kvm虛擬化與OpenStack云計算第十七階段公有云阿里云8大組件構(gòu)建集群實戰(zhàn)第十八階段:Docker技術(shù)企業(yè)應(yīng)用實踐第十九階段:Python自動化入門及進階第二十階段:職業(yè)規(guī)劃與高薪就業(yè)指導(dǎo)。
Linux是一種自由和開放源代碼的類Unix操作系統(tǒng),以Unix為原型改造的,一個多用戶多任務(wù)的操作系統(tǒng),任何人都可以修改其代碼和頁面,主要的目的就是為了不收商業(yè)化的限制,服務(wù)器部署在linux系統(tǒng)上會更加高效穩(wěn)定、安全。
嚴(yán)格來講,Linux只是操作系統(tǒng)內(nèi)核本身,但通常采用“Linux內(nèi)核”來表達該意思。而Linux則常用來指基于Linux內(nèi)核的完整操作系統(tǒng),它包括GUI組件和許多其他實用工具。
云計算、大數(shù)據(jù)的發(fā)展是基于開源軟件的平臺,Linux占據(jù)優(yōu)勢, 大數(shù)據(jù)的分布式集群( Hadoop,Spark )都是搭建在多臺 Linux 系統(tǒng)上,對集群的執(zhí)行命令都是在 Linux 終端窗口輸入的。
大數(shù)據(jù)也是產(chǎn)業(yè)互聯(lián)網(wǎng)重要的技術(shù)組成部分,而且大數(shù)據(jù)自身的產(chǎn)業(yè)生態(tài)規(guī)模也比較大,涉及到的崗位類型也比較多,包括數(shù)據(jù)采集、數(shù)據(jù)整理(清洗、歸并)、數(shù)據(jù)存儲、數(shù)據(jù)安全、數(shù)據(jù)分析、數(shù)據(jù)呈現(xiàn)、數(shù)據(jù)應(yīng)用等,這些崗位也需要各種不同類型的人才。如果對于數(shù)據(jù)比較敏感,同時具有一定的數(shù)學(xué)基礎(chǔ),那么選擇大數(shù)據(jù)方向也完全可以
以上就是我的回答,希望對你有所幫助
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請在一個月內(nèi)通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習(xí)鳥. 頁面生成時間:3.397秒