天天看點

【精通Spark系列】萬事開頭難?本篇文章讓你輕松入門Spark

🚀 作者 :“大資料小禅”

🚀 **文章簡介 **:本篇文章屬于Spark系列文章,專欄将會記錄從spark基礎到進階的内容,,内容涉及到Spark的入門叢集搭建,核心元件,RDD,算子的使用,底層原理,SparkCore,SparkSQL,SparkStreaming等,Spark專欄位址.歡迎小夥伴們訂閱💪

🚀 **文章源碼擷取 **:與本文相關的安裝包,大資料交流群,小夥伴們可以關注文章底部的公衆号,點選“聯系我”備注對應内容擷取。

🚀 歡迎小夥伴們 點贊👍、收藏⭐、留言💬

Spark入門導航

1.Spark是什麼?

2.Spark的曆史

3.Spark入門之叢集搭建

4.叢集通路測試

5.叢集驗證

5.編寫你的第一個Spark應用

6.環境搭建

7.代碼編寫

8.總結

Apache Spark是專門為大規模資料處理而設計出來的計算引擎,相對于Hadoop MapReduce将結果儲存在磁盤中,Spark使用了記憶體儲存中間結果,能在資料尚未寫入磁盤時在記憶體中進行運算。Spark隻是一個計算架構,不像Hadoop一樣包含了分布式檔案系統和完備的排程系統,如果需要使用Spark,需要搭載其他檔案系統例如用HDFS和更成熟的排程系統進行配合更好的進行計算工作。

2009年由加州大學伯克利分校AMPLab開創

2010年通過BSD許可協定開源釋出

2013年捐贈給Apache軟體基金會并切換開源協定到Apache2.0

2014年2月,Spark成為Apache的頂級項目

2014年11月,Spark的母公司Databricks團隊使用Spark重新整理資料排序世界記錄

在進行Spark搭建之前,應該盡可能先搭建好Hadoop叢集,在生産環境中,HDFS的使用也是極其廣泛,與Spark進行配合可以達到更高的工作效率,Hadoop的搭建過程可以看我之前寫的文章,Hadoop叢集搭建,過程比較詳細,步驟附帶了較多截圖幫助小夥伴們進行搭建。

下面進入到Spark叢集的搭建部分,首先我們需要将安裝包上傳到我們的叢集,叢集共三台機器分别是node1,node2,node3,使用hadoop使用者進行操作,使用者添加的方法,IP映射與免密在Hadoop叢集搭建的部分有詳細寫到。将安裝包上傳之後使用tar指令進行解壓,使用mv指令進行重命名友善後續的操作。如下圖

【精通Spark系列】萬事開頭難?本篇文章讓你輕松入門Spark
【精通Spark系列】萬事開頭難?本篇文章讓你輕松入門Spark
【精通Spark系列】萬事開頭難?本篇文章讓你輕松入門Spark
【精通Spark系列】萬事開頭難?本篇文章讓你輕松入門Spark
【精通Spark系列】萬事開頭難?本篇文章讓你輕松入門Spark
做完上面的步驟之後,為了驗證叢集是否可以正常工作,我們需要運作一個spark任務進行測試,在spark安裝包中有提供給我們測試的jar包,試着運作,成功則說明我們的叢集已經可以正常使用了。運作指令如下,這裡要注意的是jar包的位置需要根據你機器spark存放的路徑進行修改

bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://node1:7077,node2:7077,node3:7077 --executor-memory 1G --total-executor-cores 2 /app/spark-2.2.0/examples/jars/spark-examples_2.11-2.2.0.jar 100
      
【精通Spark系列】萬事開頭難?本篇文章讓你輕松入門Spark
【精通Spark系列】萬事開頭難?本篇文章讓你輕松入門Spark

相信了解過大資料相關架構的同學會很熟悉一個詞,叫做詞頻統計,意思就是根據你提供文本中的單詞,進行一個相關的統計,并得到每個關鍵詞的總數,這個可以說是入門spark的時候都會進行編寫的小應用,在這個專欄我們将使用scala語言進行編寫,scala的文法較為簡介,可以提高我們的編碼效率。下面我們就是用spark編寫第一個應用詞頻統計。

在本地運作spark項目之前,我們需要進行本地環境的搭建,這裡我們使用的工具是IDEA,通過建立Maven工程的方式倒入spark的依賴與環境,Maven工程沒有别的要求,建立個空的maven工程即可,工程的pop.xml依賴如下,供搭建參考,這裡可以根據每個人電腦對應安裝包的版本進行修改,正常來說版本不要差距太大,防止打包到叢集運作時出問題。

【精通Spark系列】萬事開頭難?本篇文章讓你輕松入門Spark
【精通Spark系列】萬事開頭難?本篇文章讓你輕松入門Spark
【精通Spark系列】萬事開頭難?本篇文章讓你輕松入門Spark
【精通Spark系列】萬事開頭難?本篇文章讓你輕松入門Spark

到這裡我們就完成了叢集的搭建與第一個小案例的運作,如果操作過程中遇到問題可以私信我,部落客會盡力幫你解答💪。其次就是由于第一個案例的編寫中涉及到了spark算子的時候,小夥伴們對着敲的時候可能會有點蒙,這個不用擔心,先敲進去運作出來結果,接下來的專欄文章将會詳細對代碼出現的算子以及使用方式進行說明,Spark專欄位址。更多的大資料資料以及本文安裝包可以通過下方公衆号擷取哦,加入小禅的🏘️大資料技術社群一起交流學習,感謝支援!💪