為了方便大家學習「數據科學及大數據技術」,中國人民大學朝樂門老師啟動了一項公益活動——SparkR 編程系列教程,將從以下4大方面系統講解SparkR編程知識與實戰經驗,敬請期待。
(1)如何搭建SparkR開發開發環境;
(2)SparkR編程基礎知識講解
(3)SparkR實例代碼詳解
(4)基於SparkR的數據科學實戰。
(註:本文內容為中國人民大學朝樂門老師的原創內容,轉載請註明出處及作者。作者聯繫方式為微信公眾號「數據科學DataScience」)
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」。歡迎您的雅正與評論。)