Spark知識點解答有哪些

這篇文章給大家介紹Spark知識點解答有哪些,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

成都創(chuàng)新互聯(lián)為客戶提供專業(yè)的網(wǎng)站設(shè)計、網(wǎng)站制作、程序、域名、空間一條龍服務(wù),提供基于WEB的系統(tǒng)開發(fā). 服務(wù)項目涵蓋了網(wǎng)頁設(shè)計、網(wǎng)站程序開發(fā)、WEB系統(tǒng)開發(fā)、微信二次開發(fā)、成都手機網(wǎng)站制作等網(wǎng)站方面業(yè)務(wù)。

Spark是一個實現(xiàn)快速通用的集群計算平臺,它是基于內(nèi)存的迭代計算框架,適用于需要多次操作特定數(shù)據(jù)集的應(yīng)用場合。在大數(shù)據(jù)庫架構(gòu)中常常需要使用Spark,Spark的知識點一直也是大數(shù)據(jù)面試題的重點,下面整理了Spark知識點匯總。

1、Spark的核心是什么?

RDD是Spark的基本抽象,是對分布式內(nèi)存的抽象使用,實現(xiàn)了以操作本地集合的方式來操作分布式數(shù)據(jù)集的抽象實現(xiàn)。RDD也是Spark非常核心的東西,它表示已被分區(qū),不可變的并能夠被并行操作的數(shù)據(jù)集合,不同的數(shù)據(jù)集格式對應(yīng)不同的RDD實現(xiàn)。

RDD必須是可序列化的。RDD可以cache到內(nèi)存中,每次對RDD數(shù)據(jù)集的操作之后的結(jié)果,都可以存放到內(nèi)存中,下一個操作可以直接從內(nèi)存中輸入,省去了MapReduce大量的磁盤IO操作。這對于迭代運算比較常見的機器學習算法, 交互式數(shù)據(jù)挖掘來說,效率提升比較大。

2、Spark的適用場景有哪些?

由于 RDD的特性,Spark不適用那種異步細粒度更新狀態(tài)的應(yīng)用,例如web服務(wù)的存儲或者是增量的web爬蟲和索引。就是對于那種增量修改的應(yīng)用模型不適合??偟膩碚fSpark的適用面比較廣泛且比較通用。

3、Spark支持的編程語言有哪幾種?

Spark通過與編程語言集成的方式暴露RDD的操作,類似于DryadLINQ和FlumeJava,每個數(shù)據(jù)集都表示為RDD對象,對數(shù)據(jù)集的操作就表示成對RDD對象的操作。

Spark主要支持的編程語言是Scala、java、python。

Scala

Spark使用Scala開發(fā),默認使用Scala作為編程語言。編寫Spark程序比編寫Hadoop MapReduce程序要簡單的多,SparK提供了Spark-Shell,可以在Spark-Shell測試程序。

Java

Spark支持Java編程,但對于使用Java就沒有了Spark-Shell這樣方便的工具,其它與Scala編程是一樣的,因為都是JVM上的語言,Scala與Java可以互操作,Java編程接口其實就是對Scala的封裝。

Python

現(xiàn)在 Spark也提供了Python編程接口,Spark使用py4j來實現(xiàn)python與java的互操作,從而實現(xiàn)使用python編寫Spark程序。Spark也同樣提供了pyspark,一個Spark的python shell,可以以交互式的方式使用Python編寫Spark程序。

關(guān)于Spark知識點解答有哪些就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

分享文章:Spark知識點解答有哪些
鏈接URL:http://muchs.cn/article36/pdposg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、服務(wù)器托管搜索引擎優(yōu)化、面包屑導航、微信公眾號網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化