您好,登錄后才能下訂單哦!
這篇文章主要講解了“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。
1)Scala。Spark使用Scala開發,默認使用Scala作為編程語言。編寫Spark程序比編寫Hadoop MapReduce程序要簡單的多,SparK提供了Spark-Shell,可以在Spark-Shell測試程序。
2)Java。Spark支持Java編程,但對于使用Java就沒有了Spark-Shell這樣方便的工具,其它與Scala編程是一樣的,因為都是JVM上的語言,Scala與Java可以互操作,Java編程接口其實就是對Scala的封裝。
3)Python。現在Spark也提供了Python編程接口,Spark使用py4j來實現python與java的互操作,從而實現使用python編寫Spark程序。Spark也同樣提供了pyspark,一個Spark的python shell,可以以交互式的方式使用Python編寫Spark程序。
相對于MapReduce,Spark憑借基于內存計算和可以直接讀寫Hadoop上任何格式數據的優勢,進行批處理時更加高效,并有更低的延遲。
感謝各位的閱讀,以上就是“Spark支持的編程語言有哪幾種”的內容了,經過本文的學習后,相信大家對Spark支持的編程語言有哪幾種這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。