Zeppelin没有独立的R语言解释器,要操作R必须通过Spark解释器,在Zeppelin中输入的R语言代码发送给SparkR进行执行后返回结果,本文介绍如何在Zeppelin中执行R语言。
环境及版本信息
操作系统:CentOS 7.2
Zeppelin: 0.8.1
R: 3.5.1
Spark: 2.3.2
如果系统没有安装R,请参考以下文章:
Linux安装R:yum安装
配置spark解释器
Zeppelin默认的spark解释器包括%spark , %sql , %dep , %pyspark , %ipyspark , %r等子解释器,在实际应用中要根据spark集群的参数修改具体的属性。
进入解释器配置界面,定位到spark解释器,修改以下属性。
-
master
spark的运行模式,默认为local[*],spark采用何种运行模式,参数可做以下配置:
local模式:使用local[*],[]中为线程数,*代表线程数与计算机的CPU核心数一致
standalone模式: 使用spark://master:7077
yarn模式:使用yarn-client或yarn-cluster
mesos模式:使用mesos://zk://zk1:2181,zk2:2182,zk3:2181/mesos或mesos://host:5050
- zeppelin.R.cmd
进入R的命令,默认为R,即任意目录下都能使用R命令进入R控制台。 - zeppelin.R.knitr
是否支持knitr程序包,默认为true。
R的knitr程序包支持R运行结果的格式化输出,可以实现代码高亮、代码重排、显示/隐藏源代码、显示/隐藏普通文本输出、显示/隐藏警告文本、显示/隐藏整个代码段的输出等功能。
knitr:Elegant, flexible, and fast dynamic report generation with R
The knitr package was designed to be a transparent engine for dynamic report generation with R, solve some long-standing problems in Sweave, and combine features in other add-on packages into one package (knitr ≈ Sweave + cacheSweave + pgfSweave + weaver + animation::saveLatex + R2HTML::RweaveHTML + highlight::HighlightWeaveLatex + 0.2 * brew + 0.1 * SweaveListingUtils + more).
https://yihui.name/knitr/
R语言默认未安装knitr程序包,在使用前必须先安装,可以参考以下文章。
测试
运行Zeppelin自带的R语言Notebook案例R Tutorial,在运行过程中可以看到R是通过SparkR执行的。