java 大數(shù)據(jù)中的Scala好掌握嗎,自學(xué)可以嗎?
大數(shù)據(jù)中的Scala好掌握嗎,自學(xué)可以嗎?學(xué)習(xí)大數(shù)據(jù)技術(shù)需要掌握Scala。但是,在學(xué)習(xí)Scala之前,您最好在一定程度上了解java和任何函數(shù)式語(yǔ)言(Haskell、SML等),特別是在您可以在編程
大數(shù)據(jù)中的Scala好掌握嗎,自學(xué)可以嗎?
學(xué)習(xí)大數(shù)據(jù)技術(shù)需要掌握Scala。
但是,在學(xué)習(xí)Scala之前,您最好在一定程度上了解java和任何函數(shù)式語(yǔ)言(Haskell、SML等),特別是在您可以在編程范式之間自由切換之后。
Scala不偏向大數(shù)據(jù)方向的科學(xué)研究。它被用于許多地方,如火花。
1,JVM基礎(chǔ),與Java完全兼容。對(duì)于堅(jiān)實(shí)的java基礎(chǔ)的學(xué)生,學(xué)習(xí)斯卡拉非常友好!2!在普通工具中,水槽和Hadoop是用java編寫(xiě)的,Scale和卡夫卡是Scala編寫(xiě)的。
所以對(duì)于想學(xué)習(xí)大數(shù)據(jù)的學(xué)生來(lái)說(shuō),Scala確實(shí)是最受推薦的。
作為一種相對(duì)較新的語(yǔ)言,Scala有一個(gè)混亂的社區(qū)。在scala社區(qū)中有許多不同的嘗試,主要是Java和Haskell,以及actor和reactive編程。如果你還沒(méi)有掌握一個(gè)成熟的編程范例,我認(rèn)為你很可能買(mǎi)不起Scala。!當(dāng)java編程基礎(chǔ)很好的時(shí)候,學(xué)習(xí)Hadoop系統(tǒng),然后安排學(xué)習(xí)Scala,然后學(xué)習(xí)Scale,卡夫卡等等。這個(gè)順序更科學(xué)合理,更容易讓大家掌握。
推薦書(shū)籍:Scala編程,Scala函數(shù)編程https://www.toutiao.com/i6543924910664712718/
java開(kāi)發(fā),轉(zhuǎn)大數(shù)據(jù)好還是機(jī)器學(xué)習(xí)?
謝謝。我建議轉(zhuǎn)向大數(shù)據(jù)。
我也從事java開(kāi)發(fā),我對(duì)這個(gè)主題的糾纏也有同樣的感受。畢竟,如果我精通Java,我已經(jīng)付出了大量的學(xué)習(xí)精力。如果我學(xué)習(xí)機(jī)器學(xué)習(xí),我基本上想告別Java,這無(wú)疑是一個(gè)非常不幸的選擇。
此外,轉(zhuǎn)向機(jī)器學(xué)習(xí)不僅需要深入了解python,還需要掌握數(shù)學(xué)算法,這是不可能一蹴而就的。因此,轉(zhuǎn)向人工智能的風(fēng)險(xiǎn)相對(duì)較高,很容易打亂一個(gè)人的職業(yè)規(guī)劃。
目前,大數(shù)據(jù)方向仍是一個(gè)需求量大、前景好的工作方向。Java廣泛應(yīng)用于大數(shù)據(jù)領(lǐng)域。單憑Hadoop生態(tài)系統(tǒng)就足以完成大量的大數(shù)據(jù)工作,而Hadoop和Java是分不開(kāi)的。
最重要的是大數(shù)據(jù)方向不會(huì)低于機(jī)器學(xué)習(xí)的工資,機(jī)器學(xué)習(xí)還處于初級(jí)階段。別擔(dān)心工資問(wèn)題。
Scala中的Seq和List之間的區(qū)別?
Scala的SEQ將是Java的列表,Scala的列表將是Java的LinkedList。請(qǐng)注意,SEQ是一個(gè)trait,相當(dāng)于Java的接口,但相當(dāng)于即將推出的defender方法。Scala的list是一個(gè)抽象類,由nil和::擴(kuò)展,后者是list的具體實(shí)現(xiàn)。因此,Java中的list是一個(gè)接口,scala中的list是一個(gè)實(shí)現(xiàn)。另外,Scala的列表是不可變的,這與LinkedList不同。事實(shí)上,Java沒(méi)有等價(jià)的不可變集(只讀的東西只能保證新的對(duì)象不能被更改,但是您仍然可以更改舊的對(duì)象,所以“只讀”一個(gè))。Scala的列表由編譯器和庫(kù)進(jìn)行了高度優(yōu)化。它是函數(shù)式編程中的基本數(shù)據(jù)類型。但是,它有局限性,對(duì)于并行編程來(lái)說(shuō)是不夠的。如今,向量是一個(gè)比列表更好的選擇,但習(xí)慣很難打破。Seq是一個(gè)很好的泛化序列,所以如果你對(duì)一個(gè)接口編程,你應(yīng)該使用它。請(qǐng)注意,實(shí)際上有三種:收藏序列, 集合.mutable.Seq以及collection.immutable.Seq集合,這是范圍的“默認(rèn)”導(dǎo)入。genseq和parseq。后一種方法在可能的情況下并行運(yùn)行。前者是SEQ和parseq的父級(jí),當(dāng)代碼的并行性無(wú)關(guān)時(shí),這是一種適當(dāng)?shù)姆夯K鼈兿鄬?duì)較新,所以人們不會(huì)使用它們。