很高興為您解答!
創(chuàng)新互聯(lián)是一家專注于網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)與策劃設(shè)計(jì),延邊朝鮮族網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:延邊朝鮮族等地區(qū)。延邊朝鮮族做網(wǎng)站價(jià)格咨詢:028-86922220
你需要sql基礎(chǔ),就像是高手都是無招,但是在這之前學(xué)了很多招
希望對(duì)您有用!
1.了解大數(shù)據(jù)理論
要學(xué)習(xí)大數(shù)據(jù)你至少應(yīng)該知道什么是大數(shù)據(jù),大數(shù)據(jù)一般運(yùn)用在什么領(lǐng)域。對(duì)大數(shù)據(jù)有一個(gè)大概的了解,你才能清楚自己對(duì)大數(shù)據(jù)究竟是否有興趣,如果對(duì)大數(shù)據(jù)一無所知就開始學(xué)習(xí),有可能學(xué)著學(xué)著發(fā)現(xiàn)自己其實(shí)不喜歡,這樣浪費(fèi)了時(shí)間精力,可能還浪費(fèi)了金錢。所以如果想要學(xué)習(xí)大數(shù)據(jù),需要先對(duì)大數(shù)據(jù)有一個(gè)大概的了解。
2.計(jì)算機(jī)編程語言的學(xué)習(xí)。
對(duì)于零基礎(chǔ)的朋友,一開始入門可能不會(huì)太簡(jiǎn)單。因?yàn)樾枰莆找婚T計(jì)算機(jī)的編程語言,大家都知道計(jì)算機(jī)編程語言有很多,比如:R,C++,JAVA等等。目前大多數(shù)機(jī)構(gòu)都是教JAVA,我們都知道Java是目前使用最為廣泛的網(wǎng)絡(luò)編程語言之一。他容易學(xué)而且很好用,如果你學(xué)習(xí)過C++語言,你會(huì)覺得C++和Java很像,因?yàn)镴ava中許多基本語句的語法和C++一樣,像常用的循環(huán)語句,控制語句等和C++幾乎一樣,其實(shí)Java和C++是兩種完全不同的語言,Java只需理解一些基本的概念,就可以用它編寫出適合于各種情況的應(yīng)用程序。Java略去了
運(yùn)算符重載、多重繼承等模糊的概念,C++中許多容易混淆的概念,有的被Java棄之不用了,或者以一種更清楚更容易理解的方式實(shí)現(xiàn),因此Java語言相對(duì)是簡(jiǎn)單的。
在學(xué)習(xí)Java的時(shí)候,我們一般需要學(xué)習(xí)這些課程: HTMLCSSJS,java的基礎(chǔ),JDBC與數(shù)據(jù)庫,JSP java web技術(shù), jQuery與AJAX技術(shù),SpringMVC、Mybatis、Hibernate等等。這些課程都能幫助我們更好了解Java,學(xué)會(huì)運(yùn)用Java。
3.大數(shù)據(jù)相關(guān)課程的學(xué)習(xí)。
學(xué)完了編程語言之后,一般就可以進(jìn)行大數(shù)據(jù)部分的課程學(xué)習(xí)了。一般來說,學(xué)習(xí)大數(shù)據(jù)部分的時(shí)間比學(xué)習(xí)Java的時(shí)間要短。大數(shù)據(jù)課程,包括大數(shù)據(jù)技術(shù)入門,海量數(shù)據(jù)高級(jí)分析語言,海量數(shù)據(jù)存儲(chǔ)分布式存儲(chǔ),以及海量數(shù)據(jù)分析分布式計(jì)算等部分,Linux,Hadoop,Scala, HBase, Hive, Spark等等專業(yè)課程。如果要完整的學(xué)習(xí)大數(shù)據(jù)的話,這些課程都是必不可少的。
1. EXCEL、PPT(必須精通)
數(shù)據(jù)工作者的基本姿態(tài),話說本人技術(shù)并不是很好,但是起碼會(huì)操作;要會(huì)大膽秀自己,和業(yè)務(wù)部門交流需求,展示分析結(jié)果。技術(shù)上回VBA和數(shù)據(jù)透視就到頂了。
2. 數(shù)據(jù)庫類(必須學(xué))
初級(jí)只要會(huì)RDBMS就行了,看公司用哪個(gè),用哪個(gè)學(xué)哪個(gè)。沒進(jìn)公司就學(xué)MySQL吧。
NoSQL可以在之后和統(tǒng)計(jì)學(xué)啥的一起學(xué)?;镜腘oSQL血MongoDB和Redis(緩存,嚴(yán)格意義上不算數(shù)據(jù)庫),然后(選學(xué))可以了解各類NoSQL,基于圖的數(shù)據(jù)庫Neo4j,基于Column的數(shù)據(jù)庫BigTable,基于key-value的數(shù)據(jù)庫redis/cassendra,基于collection的數(shù)據(jù)庫MongoDB。
3. 統(tǒng)計(jì)學(xué)(必須學(xué))
如果要學(xué)統(tǒng)計(jì)學(xué),重要概念是會(huì)描述性統(tǒng)計(jì)、假設(shè)檢驗(yàn)、貝葉斯、極大似然法、回歸(特別是廣義線性回歸)、主成分分析。這些個(gè)用的比較多。也有學(xué)時(shí)間序列、bootstrap、非參之類的,這個(gè)看自己的意愿。
其他數(shù)學(xué)知識(shí):線性代數(shù)常用(是很多后面的基礎(chǔ)),微積分不常用,動(dòng)力系統(tǒng)、傅里葉分析看自己想進(jìn)的行業(yè)了。
4. 機(jī)器學(xué)習(xí)(數(shù)據(jù)分析師要求會(huì)選、用、調(diào))
常用的是幾個(gè)線性分類器、聚類、回歸、隨機(jī)森林、貝葉斯;不常用的也稍微了解一下;深度學(xué)習(xí)視情況學(xué)習(xí)。
5. 大數(shù)據(jù)(選學(xué),有公司要求的話會(huì)用即可,不要求會(huì)搭環(huán)境)
hadoop基礎(chǔ),包括hdfs、map-reduce、hive之類;后面接觸spark和storm再說了。
6. 工具類
語言:非大數(shù)據(jù)類R、Python最多;大數(shù)據(jù)可能還會(huì)用到scala和java。
其他框架、類庫(選學(xué)):爬蟲(requests、beautifulsoup、scrapy),日志分析(常見elk)。
如今大數(shù)據(jù)發(fā)展得可謂是如日中天,各行各業(yè)對(duì)于大數(shù)據(jù)分析和大數(shù)據(jù)處理的需求也是與日俱增,越來越多的決策、建議、規(guī)劃和報(bào)告,都要依靠大數(shù)據(jù)的支撐,學(xué)習(xí)大數(shù)據(jù)成了不少人提升或轉(zhuǎn)行的機(jī)會(huì)。因此,入門大數(shù)據(jù)開始成為很多人的第一步,下面給大家講講,究竟大數(shù)據(jù)入門,首要掌握的知識(shí)點(diǎn)有哪些,如何一步一步進(jìn)階呢?
首先我們要了解Java語言和Linux操作系統(tǒng),這兩個(gè)是學(xué)習(xí)大數(shù)據(jù)的基礎(chǔ),學(xué)習(xí)的順序不分前后。樓主是JAVA畢業(yè)的,這無疑是極好的開頭和奠基啊,可謂是贏在了起跑線上,接收和吸收大數(shù)據(jù)領(lǐng)域的知識(shí)會(huì)比一般人更加得心應(yīng)手。
Java?:只要了解一些基礎(chǔ)即可,做大數(shù)據(jù)不需要很深的Java 技術(shù),學(xué)java SE 就相當(dāng)于有學(xué)習(xí)大數(shù)據(jù)?;A(chǔ)
Linux:因?yàn)榇髷?shù)據(jù)相關(guān)軟件都是在Linux上運(yùn)行的,所以Linux要學(xué)習(xí)的扎實(shí)一些,學(xué)好Linux對(duì)你快速掌握大數(shù)據(jù)相關(guān)技術(shù)會(huì)有很大的幫助,能讓你更好的理解hadoop、hive、hbase、spark等大數(shù)據(jù)軟件的運(yùn)行環(huán)境和網(wǎng)絡(luò)環(huán)境配置,能少踩很多坑,學(xué)會(huì)shell就能看懂腳本這樣能更容易理解和配置大數(shù)據(jù)集群。還能讓你對(duì)以后新出的大數(shù)據(jù)技術(shù)學(xué)習(xí)起來更快。
好說完基礎(chǔ)了,再說說還需要學(xué)習(xí)哪些大數(shù)據(jù)技術(shù),可以按我寫的順序?qū)W下去。
Hadoop:這是現(xiàn)在流行的大數(shù)據(jù)處理平臺(tái)幾乎已經(jīng)成為大數(shù)據(jù)的代名詞,所以這個(gè)是必學(xué)的。Hadoop里面包括幾個(gè)組件HDFS、MapReduce和YARN,HDFS是存儲(chǔ)數(shù)據(jù)的地方就像我們電腦的硬盤一樣文件都存儲(chǔ)在這個(gè)上面,MapReduce是對(duì)數(shù)據(jù)進(jìn)行處理計(jì)算的,它有個(gè)特點(diǎn)就是不管多大的數(shù)據(jù)只要給它時(shí)間它就能把數(shù)據(jù)跑完,但是時(shí)間可能不是很快所以它叫數(shù)據(jù)的批處理。
記住學(xué)到這里可以作為你學(xué)大數(shù)據(jù)的一個(gè)節(jié)點(diǎn)。
Zookeeper:這是個(gè)萬金油,安裝Hadoop的HA的時(shí)候就會(huì)用到它,以后的Hbase也會(huì)用到它。它一般用來存放一些相互協(xié)作的信息,這些信息比較小一般不會(huì)超過1M,都是使用它的軟件對(duì)它有依賴,對(duì)于我們個(gè)人來講只需要把它安裝正確,讓它正常的run起來就可以了。
Mysql:我們學(xué)習(xí)完大數(shù)據(jù)的處理了,接下來學(xué)習(xí)學(xué)習(xí)小數(shù)據(jù)的處理工具mysql數(shù)據(jù)庫,因?yàn)橐粫?huì)裝hive的時(shí)候要用到,mysql需要掌握到什么層度那?你能在Linux上把它安裝好,運(yùn)行起來,會(huì)配置簡(jiǎn)單的權(quán)限,修改root的密碼,創(chuàng)建數(shù)據(jù)庫。這里主要的是學(xué)習(xí)SQL的語法,因?yàn)閔ive的語法和這個(gè)非常相似。
Sqoop:這個(gè)是用于把Mysql里的數(shù)據(jù)導(dǎo)入到Hadoop里的。當(dāng)然你也可以不用這個(gè),直接把Mysql數(shù)據(jù)表導(dǎo)出成文件再放到HDFS上也是一樣的,當(dāng)然生產(chǎn)環(huán)境中使用要注意Mysql的壓力。
Hive:這個(gè)東西對(duì)于會(huì)SQL語法的來說就是神器,它能讓你處理大數(shù)據(jù)變的很簡(jiǎn)單,不會(huì)再費(fèi)勁的編寫MapReduce程序。有的人說Pig那?它和Pig差不多掌握一個(gè)就可以了。
Oozie:既然學(xué)會(huì)Hive了,我相信你一定需要這個(gè)東西,它可以幫你管理你的Hive或者M(jìn)apReduce、Spark腳本,還能檢查你的程序是否執(zhí)行正確,出錯(cuò)了給你發(fā)報(bào)警并能幫你重試程序,最重要的是還能幫你配置任務(wù)的依賴關(guān)系。我相信你一定會(huì)喜歡上它的,不然你看著那一大堆腳本,和密密麻麻的crond是不是有種想屎的感覺。
Hbase:這是Hadoop生態(tài)體系中的NOSQL數(shù)據(jù)庫,他的數(shù)據(jù)是按照key和value的形式存儲(chǔ)的并且key是唯一的,所以它能用來做數(shù)據(jù)的排重,它與MYSQL相比能存儲(chǔ)的數(shù)據(jù)量大很多。所以他常被用于大數(shù)據(jù)處理完成之后的存儲(chǔ)目的地。
Kafka:這是個(gè)比較好用的隊(duì)列工具,隊(duì)列是干嗎的?排隊(duì)買票你知道不?數(shù)據(jù)多了同樣也需要排隊(duì)處理,這樣與你協(xié)作的其它同學(xué)不會(huì)叫起來,你干嗎給我這么多的數(shù)據(jù)(比如好幾百G的文件)我怎么處理得過來,你別怪他因?yàn)樗皇歉愦髷?shù)據(jù)的,你可以跟他講我把數(shù)據(jù)放在隊(duì)列里你使用的時(shí)候一個(gè)個(gè)拿,這樣他就不在抱怨了馬上灰流流的去優(yōu)化他的程序去了,因?yàn)樘幚聿贿^來就是他的事情。而不是你給的問題。當(dāng)然我們也可以利用這個(gè)工具來做線上實(shí)時(shí)數(shù)據(jù)的入庫或入HDFS,這時(shí)你可以與一個(gè)叫Flume的工具配合使用,它是專門用來提供對(duì)數(shù)據(jù)進(jìn)行簡(jiǎn)單處理,并寫到各種數(shù)據(jù)接受方(比如Kafka)的。
Spark:它是用來彌補(bǔ)基于MapReduce處理數(shù)據(jù)速度上的缺點(diǎn),它的特點(diǎn)是把數(shù)據(jù)裝載到內(nèi)存中計(jì)算而不是去讀慢的要死進(jìn)化還特別慢的硬盤。特別適合做迭代運(yùn)算,所以算法流們特別稀飯它。它是用scala編寫的。Java語言或者Scala都可以操作它,因?yàn)樗鼈兌际怯肑VM的。