請先完成 Hadoop 及 Spark 架設
- 準備事項
- Linux 作業系統
- Spark
- hadoop
- jupyter
此範例相關應用程式版本:
2. openJDK: 1.8.0
3. hadoop: 3.2.1
4. spark: 2.4.5
5. Python: 3.6.9
6. R: 3.6.2
7. Jupyter: 1.0.0
- 加入R的倉庫清單(管理者身份)
sudo nano /etc/apt/sources.list.d/rpackages.list

- 取得金鑰(管理者身份)
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9

- 請確認出現金鑰正常 imported,如未果請至官網使用gpg取得金鑰
- 金鑰會不定期修改,請至新增倉庫清單鏡像站確認最新版金鑰
- R-base官網請參閱
- 簽屬金鑰(管理者身份)
gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9

- 請確認金鑰正常簽署,如未果請至官網使用其他方式
- 金鑰會不定期修改,請至新增倉庫清單鏡像站確認最新版金鑰
- 更新倉庫清單(管理者身份)
apt update

- 下載及安裝相關套件(管理者身份)
apt install r-base-dev
apt install r-base
- 檢查下載R相關套件(管理者身份)
dpkg -l | grep 'r-base'

- 啟動R(管理者身份)
R

- 下載 irkernel 等套件 (管理者身份)
install.packages(c('repr', 'IRdisplay', 'IRkernel'), type = 'source')
IRkernel::installspec(user = FALSE) #全部使用者都能使用

- 退出R後,切換hadoop帳號並啟動Jupyter互動式介面 (Hadoop身份)
jupyter notebook # jupyter lab

- 至瀏覽器輸入IP及Ports埠號選擇 R 筆記本,並測試一下

- 使用SparkR
if (nchar(Sys.getenv("SPARK_HOME")) < 1) {
Sys.setenv(SPARK_HOME = "/usr/local/spark/")
}
library(SparkR, lib.loc = c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib")))
sparkR.session(master = "yarn", sparkConfig = list(spark.driver.memory = "2g"))

- 至ResourceManager UI 查看 SparkR session

附錄: SparkR Standalone
- 啟動Spark (Hadoop身份)
bash /usr/local/spark/sbin/start-all.sh

- 啟動Jupyter互動式介面 (Hadoop身份)
jupyter notebook # jupyter lab

- 設定Spark Standalone

- 至Spark Master UI 查看 SparkR session

恭喜你完成 Spark on R 架設~~~
如果覺得內容還不錯,請我喝杯咖啡吧~