自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

共筑Spark大數(shù)據(jù)引擎的七大工具

譯文
大數(shù)據(jù) Spark
Apache Spark不僅僅讓大數(shù)據(jù)處理起來更快,還讓大數(shù)據(jù)處理起來更簡單、功能更強大、更方便。Spark并非只是一項技術,它結(jié)合了諸多部分,新的功能和性能改進不斷添加進來,每個部分都在不斷完善之中。

【51CTO.com快譯】Spark正在數(shù)據(jù)處理領域卷起一場風暴。讓我們通過本篇文章,看看為Spark的大數(shù)據(jù)平臺起到推波助瀾的幾個重要工具。

[[164225]]

Spark生態(tài)系統(tǒng)眾生相

Apache Spark不僅僅讓大數(shù)據(jù)處理起來更快,還讓大數(shù)據(jù)處理起來更簡單、功能更強大、更方便。Spark并非只是一項技術,它結(jié)合了諸多部分,新的功能和性能改進不斷添加進來,每個部分都在不斷完善之中。

本文介紹了Spark生態(tài)系統(tǒng)的每個主要部分:每個部分的功能,為什么很重要,是如何發(fā)展的,在哪方面不盡如人意,以及可能會往哪個方向發(fā)展。

Spark Core

七大工具共筑Spark大數(shù)據(jù)引擎

Spark的核心是恰如其名的Spark Core。除了協(xié)調(diào)和調(diào)度作業(yè)外,Spark Core還為Spark中的數(shù)據(jù)處理提供了基本的抽象機制,名為彈性分布式數(shù)據(jù)集(RDD)。

RDD對數(shù)據(jù)執(zhí)行兩個動作:轉(zhuǎn)換和操作。前者轉(zhuǎn)換數(shù)據(jù),并將它們作為剛創(chuàng)新的RDD來提供;后者根據(jù)現(xiàn)有的RDD(比如對象數(shù)量)來計算結(jié)果。

Spark的速度很快,原因是轉(zhuǎn)換和操作都保存在內(nèi)存中。操作慢騰騰地評估,這意味著只有需要相關的數(shù)據(jù)時,才執(zhí)行操作;然而,很難搞清楚什么在緩慢運行。

Spark的速度在不斷提高。Java的內(nèi)存管理往往給Spark帶來問題,于是Project Tungsten計劃避開JVM的內(nèi)存和垃圾收集子系統(tǒng),以此提高內(nèi)存效率。

Spark API

七大工具共筑Spark大數(shù)據(jù)引擎

Spark主要是用Scala編寫的,所以Spark的主要API長期以來也支持Scala。不過另外三種使用廣泛得多的語言同樣得到支持:Java(Spark也依賴它)、Python和R.

總的來說,你最好選擇自己最擅長的那種語言,因為你需要的功能特性很可能在該語言中直接得到支持。只有一個例外:相比之下,SparkR中對機器學習的支持不大給力,目前只有一小批算法可供使用。不過將來這種情況勢必會發(fā)生變化。

Spark SQL

七大工具共筑Spark大數(shù)據(jù)引擎

千萬不要低估了能夠?qū)ε繑?shù)據(jù)執(zhí)行SQL查詢的能力或便利。Spark SQL提供了對Spark提供的數(shù)據(jù)執(zhí)行SQL查詢(并且請求列式DataFrame)的一種通用機制,包括通過ODBC/JDBC連接件進行管道處理的查詢。你甚至不需要正規(guī)的數(shù)據(jù)源。Spark 1.6中添加了這一功能:支持以一種得到支持的格式查詢扁平文件,就像Apache Drill那樣。

Spark SQL其實并不用于更新數(shù)據(jù),因為那與Spark的整個意義相悖??梢詫⒁蚨傻臄?shù)據(jù)寫回成新的Spark數(shù)據(jù)源(比如新的Parquet表),但是UPDATE查詢并不得到支持。別指望諸如此類的功能特性很快就會推出;著眼于Spark SQL的改進大多數(shù)用于提升其性能,因為它也成了Spark Streaming的基礎。

Spark Streaming

Spark的設計讓它得以支持許多處理方法,包括流處理――Spark Streaming因此得名。關于Spark Steaming的傳統(tǒng)觀點是,它還半生不熟,這意味著只有你不需要瞬間延遲,或者如果你還沒有投入到另一種流數(shù)據(jù)處理解決方案(比如說Apache Storm),你才會使用它。

但是Storm在逐漸失去人氣;長期使用Storm的推特此后已改用了自己的項目Heron。此外,Spark 2.0承諾會推出一種新的“結(jié)構(gòu)化數(shù)據(jù)流”模式,以便對實時數(shù)據(jù)進行交互式Spark SQL查詢,包括使用Spark​的機器學習庫。至于其性能是否高得足以擊敗競爭對手仍需拭目以待,不過它值得認真考慮。

MLlib(機器學習)

機器學習技術素有既神奇,又困難之稱。Spark讓你可以對Spark中的數(shù)據(jù)運行許多常見的機器學習算法,從而使這些類型的分析容易得多,也更容易被Spark用戶所使用。

MLlib中的可用算法數(shù)量眾多,該框架每推出一個修訂版,就會隨之增多。話雖如此,一些類型的算法還是沒有――比如說,涉及深度學習的任何算法。第三方正在利用Spark的人氣來填補這一空白;比如說,雅虎可以借助CaffeOnSpark執(zhí)行深度學習,它通過Spark充分利用了Caffe深度學習系統(tǒng)。

GraphX​​(圖形計算)

描繪數(shù)百萬實體之間的關系通常需要圖形,這種數(shù)據(jù)構(gòu)件描述了那些實體之間的相互關系。Spark的GraphX​​ API讓你可以使用Spark的一套方法,對數(shù)據(jù)執(zhí)行圖形操作,于是構(gòu)建和轉(zhuǎn)換這類圖形的繁重任務卸載到了Spark。GraphX​​還包括用于處理數(shù)據(jù)的幾種常見算法,比如PageRank或標簽傳播(label propagation)。

從目前來看,GraphX的​​一個主要限制是,它最適合靜態(tài)圖形。處理添加了新頂點的圖形會嚴重影響性能。此外,如果你已經(jīng)在使用一種成熟的圖形數(shù)據(jù)庫解決方案,GraphX還​​不太可能取代它。

SparkR(Spark上的R)

R語言為進行統(tǒng)計數(shù)值分析和機器學習工作提供了一種環(huán)境。Spark在2015年6月添加了支持R的功能,以匹配其支持Python和Scala的功能。

除了為潛在的Spark開發(fā)人員多提供一種語言外,SparkR還讓R程序員們可以做之前做不了的許多事情,比如訪問超過單一機器的內(nèi)存容量的數(shù)據(jù)集,或者同時輕松地使用多個進程或在多個機器上運行分析。

SparkR還讓R程序員可以充分利用Spark中的MLlib機器學習模塊,創(chuàng)建一般的線性模型。遺憾的是,并非所有的MLlib功能在SparkR中得到支持,不過Spark每推出一個后續(xù)的修訂版,都在填補R支持方面的差距。

原文標題:7 tools to fire up Spark's big data engine

【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

責任編輯:Ophira 來源: 51CTO.com
相關推薦

2020-08-27 11:05:08

大數(shù)據(jù)互聯(lián)網(wǎng)數(shù)字

2020-05-15 14:17:40

大數(shù)據(jù)AR數(shù)字

2016-10-12 19:14:31

2016-08-30 14:40:39

Hadoop系統(tǒng)大數(shù)據(jù)應用

2016-08-29 22:34:24

大數(shù)據(jù)工具

2016-11-08 22:47:09

大數(shù)據(jù)英國政府大數(shù)據(jù)應用

2015-11-09 17:28:17

2023-08-02 11:39:11

鏈路追蹤技術微服務

2014-08-13 09:17:41

大數(shù)據(jù)應用案例

2017-02-17 09:00:00

Linux管理員工具

2017-12-19 07:16:31

編程語言技術軟件開發(fā)

2021-05-24 09:00:00

ETL工具數(shù)據(jù)

2021-07-13 09:00:00

網(wǎng)站開發(fā)工具

2019-08-28 17:05:18

大數(shù)據(jù)技術人工智能

2022-05-11 13:51:53

數(shù)據(jù)驅(qū)動大數(shù)據(jù)管理

2015-06-10 11:38:55

數(shù)據(jù)加密云端數(shù)據(jù)加密

2014-07-10 09:17:59

2024-09-02 16:04:45

2022-12-12 12:34:47

2016-11-04 14:10:14

點贊
收藏

51CTO技術棧公眾號