色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

Scala(+Spark)的出現(xiàn)會取代Python在數(shù)據(jù)科學中的地位嗎?

張吉惟2年前14瀏覽0評論

Python可能是2017年數(shù)據(jù)科學中最流行的編程語言,其主要競爭語言是R。Scala是一門多范式的編程語言,設(shè)計初衷是要集成面向?qū)ο缶幊毯秃瘮?shù)式編程的各種特性。洛桑聯(lián)邦理工學院的MartinOdersky于2001年基于Funnel的工作開始設(shè)計Scala。2009年4月,Twitter宣布他們已經(jīng)把大部分后端程序從Ruby遷移到Scala,其余部分也打算要遷移。Coursera把Scala作為服務(wù)器語言使用。

Python的優(yōu)勢:

  1. Scikit-learn,一個Scala無法提供比之更好的機器學習庫。

  2. Python社區(qū)比Scala更大。

  3. 學習資源更易獲取,相比于Scala。

  4. 幾乎有所有深度學習框架的API。

  5. 非常容易學習。

Scala的優(yōu)勢

  1. Spark是用Scala寫的。最好的Spark體驗來自Scala的使用。

  2. 強大的功能性語言。

  3. 先進型系統(tǒng)。

  4. Spark同樣也有PythonAPI,你可以使用Python編寫相當數(shù)量的功能性代碼,這相對增加了Scala的優(yōu)勢。

Scala+Spark是需要大量計算機的分批數(shù)據(jù)管道的最佳選擇。例如,在EuclidAnalytics中,我們使用Spark每天處理大約100gb的傳感器數(shù)據(jù),并將其總結(jié)為可操作的指標。有幾件事情使Scala/Spark非常棒:

  1. Spark是迄今為止在多臺機器上運行分析工作的最簡單和最佳支持的選項。

  2. 功能語言對于數(shù)據(jù)管道來說非常適合,因為管道本質(zhì)上是數(shù)據(jù)集上的一個大功能(由幾個較小的函數(shù)組成)。

  3. 靜態(tài)類型使得在運行代碼之前更容易避免錯誤,當你的工作需要幾個小時才能執(zhí)行時,這很重要。

但這是一個非常具體的利基,90%的公司不應(yīng)該使用它。Python、R和SQL對于大多數(shù)公司的工作類型來說仍然要好一些,其中包括探索性分析,統(tǒng)計學和機器學習。相比之下,Scala/Spark在所有這些方面都相當薄弱:Scala在生產(chǎn)工作方面表現(xiàn)優(yōu)異,但對于臨時工作,它依然是一個相當差的工具。