【SparkR編程系列教程】之一【如何搭建SparkR的開發環境】

2021-01-21 數據科學DataScience



為了方便大家學習「數據科學及大數據技術」,中國人民大學朝樂門老師啟動了一項公益活動——SparkR 編程系列教程,將從以下4大方面系統講解SparkR編程知識與實戰經驗,敬請期待。

(1)如何搭建SparkR開發開發環境;

(2)SparkR編程基礎知識講解

(3)SparkR實例代碼詳解

(4)基於SparkR的數據科學實戰。

(註:本文內容為中國人民大學朝樂門老師的原創內容,轉載請註明出處及作者。作者聯繫方式為微信公眾號「數據科學DataScience」)


今天,我主要講解「如何搭建SparkR 的開發環境」。考慮到 ①多數網友使用的是Windows作業系統、 ②在Windows和Linux中搭建SparkR 的開發環境的相似性以及 ③Linux環境下的操作比Windwos簡單,我們主要介紹「在Windows作業系統之上搭建SparkR 的開發環境」的方法。



SparkR 開發環境的搭建主要涉及安裝R、Rtools、RStudio、JDK、Spark、本地Hadoop庫以及運行Spark代碼等7個基本步驟。



1.1 【下載R】登錄CRAN官網或其鏡像站點,如清華大學CRAN鏡像站點(https://mirrors.tuna.tsinghua.edu.cn/CRAN/,選擇「Download R for Windows」,並在彈出的新窗口中選擇「install R for the first time」,下載R安裝軟體。

圖1

【注意事項】

建議從CRAN的國內鏡像站點下載R安裝包(考慮到下載的速度與穩定性)。

注意下載的R安裝程序應與您的作業系統版本一致(尤其是作業系統的位數32還是64?)。

本教程的示例下載的是「R3.3.3 for Windows」,下載到本地的文件為「R-3.3.3-win.exe」。


1.2 【安裝R】雙擊R的安裝文件「R-3.3.3-win」,按安裝嚮導進行操作即可。



圖2


【注意事項】

R的安裝路徑中最好不要有空格,不要安裝在「Program File」或「Program File(X86)」目錄下。

為了方便演示,本教程在C盤根目錄下新增了一個新文件夾「SparkR」,將步驟1~6的所有文件將統一安裝到此目錄。

本示例中的R安裝目錄為「C:\SparkR\R-3.3.3」。


1.3 【設置R的環境變量】將R的bin目錄(…\R-3.3.3\bin)添加到系統環境變量path中。


圖3


【注意事項】



1.4 【測試R的安裝是否成功】輸入命令cmd,進入Windows控制臺命令行,輸入命令r,系統顯示結果是否正確。


圖4


【注意事項】






2.1【下載Rtools下載Rtools的安裝程序,操作步驟與「1.1下載R」基本一致。

圖5


【注意事項】


2.2【安裝Rtools雙擊安裝Rtools33.exe文件,操作方法與1.2相同,操作步驟參見【1.2安裝R】」.


圖6


2.3【設置Rtools的環境變量】將…\Rtools\bin與…\Rtools\gcc-4.6.3\bin添加到系統環境變量中,操作方法與步驟1.3相同,操作步驟參見【1.3設置R的環境變量】.


圖7


2.4【測試Rtools安裝是否成功】輸入命令cmd,進入Windows控制臺命令行,輸入命令basename --help,系統顯示結果是否正確。


圖8






3.1【下載RStudio 從RStudio官網(https://www.rstudio.com/products/rstudio/download/)下載RStudio的安裝文件。


圖9


3.2【安裝RStudio雙擊安裝RStudio.exe文件,操作方法與1.2相同,操作步驟參見【1.2安裝R】」.


圖10



3.3【測試RStudio的安裝是否成功】在Windows開始菜單中選擇RStudio,打開RStudio。


圖11


【注意事項】



圖12


【注意事項】Java SE的版本,本教程安裝的是Java SE Development Kit 8u121。


4.2【設置JDK環境變量】首先,在「系統變量」中新建 JAVA_HOME 變量,變量值填寫jdk的安裝目錄(如C:\SparkR\JDK\bin);接著,在「系統變量」中的path變量,點擊「編輯」按鈕,分別將「 %JAVA_HOME%\bin」和「%JAVA_HOME%\jre\bin」添加到path變量值。


圖13


   【注意事項】如果path變量值在同一行中輸入,需要在原path的變量值末尾加個「;「,即填寫」%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin「 。


4.3 【測試JDK的安裝是否成功】輸入命令cmd,進入Windows控制臺命令行,輸入命令「java –version」,查看JDK的安裝及環境變量的設置是否正確。


圖14


【注意事項】如果系統顯示「'java' 不是內部或外部命令,也不是可運行的程序或批處理文件」的提示,請檢查JDK環境變量的設置,詳見4.2.。




圖15


【注意事項】最新版本spark在windows下運行會出現一些問題,建議選擇2.0.2,本教程下載的Spark的安裝程序的壓縮包是spark-2.0.2-bin-hadoop2.7.tar.gz


5.2 【安裝Spark解壓Spark的安裝程序的壓縮包(如spark-2.0.2-bin-hadoop2.7.tar.gz),並將解壓後的內容複製到安裝目錄下(如本教程的安裝目錄為」 C:\SparkR」)的新建文件夾spark(用戶需要自己創建該文件夾)。


圖16


5.3【設置Spark的環境變量】首先,在系統環境變量中增加一個新的環境變量SPARK_HOME,並將其值設為spark程序目錄(如C:\SparkR\spark).接著,在系統環境變量中找到Path變臉個,將%SPARK_HOME%\bin添加至系統環境變量path中。


圖17

圖18


【注意事項】與JDK的環境變量設置相同,見「4.2【設置JavaSE環境變量】」。



 5.4 【測試SparkR輸入命令cmd,進入Windows控制臺,輸入命令SparkR,查看安裝結果是否正確。


圖19


【注意事項】如果發現如下發現警告:17/03/28 21:49:03 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable,意思就是沒有缺少本地hadoop庫,解決方法見步驟6.






6.1【下載本地hadoop庫】下載本地hadoop庫。如果你使用的是Win10版本的作業系統,可以從「連結: http://pan.baidu.com/s/1nuAfT9J 密碼: vdqk」下載此文件。


6.2【安裝本地hadoop】在程序安裝目錄下新建hadoop文件夾,將解壓後的內容複製到hadoop目錄下。


圖20



6.3 【設置本地hadoop庫的環境變量】首先,在系統環境變量中新增變量HADOOP_HOME,其值為步驟6.2中的hadoop安裝目錄(如C:\SparkR\hadoop)。接著,在系統環境變量的path中添加路徑%HADOOP_HOME%\bin。


圖21


圖22


【注意事項】操作方法1.3類似,操作步驟及注意事項參見【1.3設置R的環境變量】.


6.4【重新測試SparkR操作步驟與5.4一致,查看操作結果是否正確。


圖23



【注意事項】可能出現如下提示「

Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties

Setting default log level to "WARN".

To adjust logging level use sc.setLogLevel(newLevel).

    處理方法如下:複製…\spark\conf下的log4j.properties.template文件為log4j.properties,並修改log4j.properties文件,將第一個INFO改為WARN。


圖24


SparkR的正確測試結果如下:


圖25


【注意事項】在spark的\examples\src\main\r目錄下有四個SparkR示例代碼,分別為數據框操作、數據轉換、機器學習和SQL查詢。


圖26






 7.1【修改當前路徑】將當前路徑修改為spark文件夾。


圖27


【注意事項】將當前路徑改為spark,而不是SparkR。


7.2【運行SparkR代碼】bin\spark-submit examples\src\main\r\dataframe.R


圖28




8.1 【安裝SparkR包】將…\spark\R\lib中SparkR文件夾拷貝到…\R-3.3.2\library中。


圖29


8.2 【在RStudio打開SparkR文件並運行代碼】用Rstudio代開「…\spark\examples\src\main\r」 下的文件dataframe.R,並採用Ctrl+Enter 進行逐行執行或全部執行。


圖30


(版權說明:本文內容為中國人民大學朝樂門老師的原創內容,轉載請註明出處及作者姓名。作者聯繫方式為微信公眾號「數據科學DataScience」。歡迎您的雅正與評論。)



相關焦點

  • 「sparkr+sparkr mini」 打火機手電筒完美合體
    來自於美國的power practical一直致力於對充滿創意同時又價格實惠的能量產品的開發。「sparkr」與「sparkr mini」將他們「古怪的」設計特色與生產日常用品的願望相結合。這套造型別致的多功能全新系列作品能夠讓使用者們隨時隨地生火或照明。經過無數次的討論,power practical的工業設計師mckay nilson 開始著手模擬「sparkr」可能的外形。設計定稿後,整個團隊立即開始打造產品原型進行測試。
  • 如何搭建SparkR的開發環境
    Spark+Python開發環境的詳細步驟今天,我主要講解「如何搭建SparkR 的開發環境」。考慮到 ①多數網友使用的是Windows作業系統、 ②在Windows和Linux中搭建SparkR 的開發環境的相似性以及 ③Linux環境下的操作比Windwos簡單,我們主要介紹「在Windows作業系統之上搭建SparkR 的開發環境」的方法。
  • 初學編程者如何擺脫搭建開發環境的困擾?
    你是否也有過類似慘痛的經歷:一不小心設錯一個環境參數或路徑,代碼就死活也跑不起來;明明嚴格按照步驟搭建起來的伺服器,又或者跟別人一模一樣的環境,但就是運行不了……圖片來源於網絡本文就初學編程者面臨的最大問題:如何搭建開發環境,給出了非常實用的解決方法,幫助初學者跳過搭建開發環境這個複雜又令人頭疼的環節,直接進入編程的學習,從而更加享受學習編程的樂趣。
  • SparkR編程系列 | 機器學習+數據可視化
    詳見本系列教程中的專題【快速入門SparkR編程】sparkR.session(appName = "SparkR KMeans聚類分析")#【講解知識點2】用sparkR的函數sparkR.session(),創建sparkR session運行結果Java ref type org.apache.spark.sql.SparkSession
  • SparkR:數據科學家的新利器
    摘要:R是數據科學家中最流行的程式語言和環境之一,在Spark中加入對R的支持是社區中較受關注的話題。作為增強Spark對數據科學家群體吸引力的最新舉措,最近發布的Spark 1.4版本在現有的Scala/Java/Python API之外增加了R API(SparkR)。
  • 【Ardunio】開發入門教程【一】簡介+數據類型+開發工具
    板子上的微控制器可以通過Arduino的程式語言來編寫程序,編譯成二進位文件,燒錄進微控制器。對Arduino的編程是利用 Arduino程式語言 (基於 Wiring)和Arduino開發環境(based on Processing)來實現的。
  • windows上python開發環境的搭建
    對於程序開發而言,需要的就是一個良好的開發環境。對於C,C++, java等靜態性語言而言,需要通過IDE(集成開發環境)來便利開發過程;對於perl, python這種動態性語言而言,其開發環境的搭建就顯得簡單多了,只需要安裝好對應的解釋器,以及選擇一個順手的編輯器即可。
  • 嵌入式Linux開發環境的搭建之:嵌入式開發環境的搭建
    本文引用地址:http://www.eepw.com.cn/article/257141.htm5.1嵌入式開發環境的搭建5.1.1嵌入式交叉編譯環境的搭建linux作業系統文章專題:linux作業系統詳解(linux不再難懂)交叉編譯的概念在第4章中已經詳細講述過,搭建交叉編譯環境是嵌入式開發的第一步,也是必備的一步。
  • 源碼雲:個人沒有編程經驗,如何快速製作小程序?望相互轉告
    個人沒有變成經驗,如何快速製作小程序?望相互轉告隨著移動網際網路的發展,在我們的生活中,小程序的「出場」頻次愈加頻繁起來。但是沒有編程經驗,該如何快速製作小程序呢?其實,沒有太多的編程經驗,一樣可以快速完成製作小程序的。
  • DSP集成開發環境中的混合編程及FFT算法的實現
    1  引言        CCS(Code Composer Studio)是TI公司的DSP集成開發環境。它提供了環境配置、源文件編輯、程序調試、跟蹤和分析等工具,幫助用戶在一個軟體環境下完成編輯、編譯連結、調試和數據分析等工作。
  • Windows系統環境搭建安裝Web伺服器(IIS)圖文教程
    阿里雲ECS雲伺服器Windows系統安裝WWW Web伺服器(IIS)圖文教程,阿里雲百科網分享:Windows搭建www伺服器教程伺服器:阿里雲ECS雲伺服器;系統環境:Windows Server 2008 R2 企業版64位;注意:ECS雲服務需要配置安全組開放
  • 編程小少年有個人工智慧大夢想
    15歲的他投入了百分之百的熱情在編程上,並和一幫海歸碩士、博士共同創立學習小組,目前他們正在編寫《將編程融入數理化》系列教程。這個編程少年是如何看待人工智慧的?學習編程帶給他怎樣的收穫?論壇結束後,山西晚報記者對杜威之進行了獨家專訪。  他把學習人工智慧當成「使命」  「在我看來,人工智慧不僅能給機器賦予思想,還能給機器鑄造靈魂。」
  • Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python...
    基於liunx系統的python教程,課程裡也有liunx操作的詳細教學,不用擔心學習時不會操作liunx系統。梯度下降法 7PCA與梯度上升法 8多項式回歸與模型泛化 9邏輯回歸 10評價分類結果 11支撐向量機 svm 12決策樹 13集成學習與隨機森林 14更多機器學習算法 2 1課程整體介紹 2人工智慧集成知識 3tensorflow簡介和開發環境搭建
  • 大數據學習環境搭建系列(二)虛擬機軟體Vmware的安裝
    作者 | CDA數據分析師概述在進行分布式架構的學習前,首先需進行基礎環境準備。眾所周知,在單機運算能力無法滿足處理海量數據的運算能力時,人們普遍開始考慮使用分布式運算來代替單機運算,這也成為了大數據分析和小數據分析最顯著的區別之一,即使用的工具不同。
  • 【小白教程】JavaScript——運算符
    上一期:面向對象編程和this下一期:條件語句往期分享【無刪減】電影系列美國往事丨如果你的一生只能看一部電影的話,那就看這一部吧春夏秋冬又一春丨那麼小就當和尚,好傷心啊蝴蝶丨我比你年輕,我還有餘力等你(les題材)荒野生存丨我想那麼年輕,乾淨,那麼寂寞地活著
  • 作為編程教育的核心,計算思維如何培養與評估?
    過去三十年來,有大量文獻涉及了編程及計算思維的教學法和學習策略。然而,大部分研究對象是本科階段的計算機科學教育。但本文只包含近期關於21世紀培養計算思維的工具和學齡兒童的研究。1.培養工具自LOGO程式語言出現後,「低地板,高天花板」就成為創建兒童編程環境的指導原則之一。
  • Deepin開發真香!Java開發環境全套安裝及配置圖文教程
    序言本文主要介紹如何在Deepin作業系統中配置完整的Java開發環境,配置內容如下:JDK:JDK的下載、安裝和配置Maven:Maven的下載、安裝和配置IDEA:IntelliJ IDEA的下載、安裝和配置Spring Initializr:在IDEA中安裝Spring Initializr插件Hello World:編寫並運行一個Hello World
  • 薪資最高的15種程式語言及在線學習資源
    對此刻在家隔離或最近失去工作的人來說,現在是開始學習編程的好時機,這大概是2020年最受歡迎的技能之一了。國外某知名招聘網站最近發表了最受歡迎職業榜單,它基於三個因素:平均工資,過去三年該職位招聘廣告的增長情況,和網站每1百萬條信息裡針對該職位的求職帖數量。
  • 學電腦編程入門要先學習什麼
    剛開始學習編程,發現學習了很長時間仍然沒有學習思路,感覺記憶量特別大,需要記憶很多專業術語。那麼有什麼便捷的電腦編程學習方法,可以輕鬆掌握編程思路呢,答案是肯定的,有,可以先通過學習中文編程漢語編程來快速掌握編程思路,然後再學習其他語言,則會事半功倍。