您好,登錄后才能下訂單哦!
這篇文章給大家介紹Spark知識點解答有哪些,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
Spark是一個實現快速通用的集群計算平臺,它是基于內存的迭代計算框架,適用于需要多次操作特定數據集的應用場合。在大數據庫架構中常常需要使用Spark,Spark的知識點一直也是大數據面試題的重點,下面整理了Spark知識點匯總。
1、Spark的核心是什么?
RDD是Spark的基本抽象,是對分布式內存的抽象使用,實現了以操作本地集合的方式來操作分布式數據集的抽象實現。RDD也是Spark非常核心的東西,它表示已被分區,不可變的并能夠被并行操作的數據集合,不同的數據集格式對應不同的RDD實現。
RDD必須是可序列化的。RDD可以cache到內存中,每次對RDD數據集的操作之后的結果,都可以存放到內存中,下一個操作可以直接從內存中輸入,省去了MapReduce大量的磁盤IO操作。這對于迭代運算比較常見的機器學習算法, 交互式數據挖掘來說,效率提升比較大。
2、Spark的適用場景有哪些?
由于 RDD的特性,Spark不適用那種異步細粒度更新狀態的應用,例如web服務的存儲或者是增量的web爬蟲和索引。就是對于那種增量修改的應用模型不適合。總的來說Spark的適用面比較廣泛且比較通用。
3、Spark支持的編程語言有哪幾種?
Spark通過與編程語言集成的方式暴露RDD的操作,類似于DryadLINQ和FlumeJava,每個數據集都表示為RDD對象,對數據集的操作就表示成對RDD對象的操作。
Spark主要支持的編程語言是Scala、java、python。
Scala
Spark使用Scala開發,默認使用Scala作為編程語言。編寫Spark程序比編寫Hadoop MapReduce程序要簡單的多,SparK提供了Spark-Shell,可以在Spark-Shell測試程序。
Java
Spark支持Java編程,但對于使用Java就沒有了Spark-Shell這樣方便的工具,其它與Scala編程是一樣的,因為都是JVM上的語言,Scala與Java可以互操作,Java編程接口其實就是對Scala的封裝。
Python
現在 Spark也提供了Python編程接口,Spark使用py4j來實現python與java的互操作,從而實現使用python編寫Spark程序。Spark也同樣提供了pyspark,一個Spark的python shell,可以以交互式的方式使用Python編寫Spark程序。
關于Spark知識點解答有哪些就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。