? ? ? ?Apache Spark是一個圍繞速度、易用性和復雜分析構建的大數(shù)據(jù)處理框架,最初在2009年由加州大學伯克利分校的AMPLab開發(fā)搔驼,并于2010年成為Apache的開源項目之一蚊锹,與Hadoop和Storm等其他大數(shù)據(jù)和MapReduce技術相比,Spark有如下優(yōu)勢:
? ? ? ?首先卓缰,Spark非常好用。由于高級API剝離了對集群本身的關注砰诵,你可以專注于你所要做的計算本 身征唬,只需在自己的筆記本電腦上就可以開發(fā)Spark應用。
? ? ? ?其次茁彭,Spark很快总寒,支持交互式使用和復雜算法。
? ? ? ? 最后理肺,Spark是一個通用引擎摄闸,可用它來完成各種各樣的運算,包括SQL查詢妹萨、文本處理年枕、機器學習等,而在Spark出現(xiàn)之前乎完,我們一般需要學習各種各樣的引擎來分別處理這些需求熏兄。 這三大優(yōu)點也使得Spark可以作為學習大數(shù)據(jù)的一個很好的起點。
? ? ? ? Spark運行特點:
? ? ? 1.每個Application獲取專屬的executor進程树姨,該進程在Application期間一直駐留摩桶,并以多線程方式運行Task。這種Application隔離機制是有優(yōu)勢的帽揪,無論是從調(diào)度角度看(每個Driver調(diào)度他自己的任務)硝清,還是從運行角度看(來自不同Application的Task運行在不同JVM中),當然這樣意味著Spark Application不能跨應用程序共享數(shù)據(jù)转晰,除非將數(shù)據(jù)寫入外部存儲系統(tǒng)
? ? ? ?2.Spark與資源管理器無關芦拿,只要能夠獲取executor進程砾肺,并能保持相互通信就可以了
? ? ? 3.提交SparkContext的Client應該靠近Worker節(jié)點(運行Executor的節(jié)點),最好是在同一個Rack里防嗡,因為Spark Application運行過程中SparkContext和Executor之間有大量的信息交換
? ? ? 4.Task采用了數(shù)據(jù)本地性和推測執(zhí)行的優(yōu)化機制变汪。
? ? ? 最后要感謝這個優(yōu)秀的平臺,可以讓我們相互交流蚁趁,如果想進一步學習交流裙盾,可以加群460570824,希望大家可以一起學習進步他嫡!