我目前正在使用 Apache Zeppelin 做一些数据可视化的东西,只是好奇为什么没有人为 R 提供解释器。从文档看来,创建一个新的解释器应该不会太难,但如果它真的这么简单,应该已经有各种语言的口译员了,我错了吗?
3 回答
编辑
在 new zeppelin 中,集成了两个 R 解释器。因此,对于最新版本,我们不需要以下步骤。
由于 0.6.0 尚未发布,我们需要克隆并构建它
R解释器1(来自数据层)
$git clone https://github.com/apache/incubator-zeppelin.git
$mvn clean package -Pspark-1.6 -Ppyspark -Phadoop-2.4 -Psparkr -DskipTests
R 口译员 2
$git clone https://github.com/apache/incubator-zeppelin.git
$mvn clean package -Pspark-1.6 -Ppyspark -Phadoop-2.4 -Pr -DskipTests
有关这些 R 解释器的更多信息,请参见此处
对于 0.6.0 以下的 zeppelin 版本,请遵循 LaurentH 步骤
试试这个来自数据层的 R 解释器。我们已经尝试过了,并且能够用它做一些事情。
我们能够连接 spark 并使用它进行可视化。说,有一些小故障,如
- 它没有表单支持。参考,https://github.com/datalayer/zeppelin-R/issues/1
- 不能使用默认的 Spark 上下文。您必须在 R 解释器中创建一个 Spark 上下文并使用它
添加 R 解释器的步骤
- git 克隆https://github.com/datalayer/zeppelin-R.git
- 导航到 zeppelin-R 并运行 mvn install
- 在 incubator-zeppelin/interpreter 中创建 R 文件夹
- 复制 zeppelin-R/target/zeppelin-R-1.0.0-SNAPSHOT.jar 到 incubator-zeppelin/interpreter/R
- 从https://oss.sonatype.org/content/repositories/snapshots/org/rosuda/REngine/REngine/2.1.1-SNAPSHOT/下载 REngine jar并将其添加到 incubator-zeppelin/interpreter/R 文件夹中
- 从https://oss.sonatype.org/content/repositories/snapshots/org/rosuda/REngine/Rserve/1.8.2-SNAPSHOT/下载 RServe jar并将其添加到 incubator-zeppelin/interpreter/R 文件夹中
- 将 incubator-zeppelin/conf/zeppelin-env.sh.template 复制到 incubator-zeppelin/conf/zeppelin-site.xml
- 编辑 incubator-zeppelin/conf/zeppelin-site.xml 并将“io.datalayer.zeppelin.R.RInterpreter”添加到 zeppelin.interpreters
- 重启飞艇
- 打开 Zeppelin UI 并单击解释器
- 单击“创建”按钮并添加 R 解释器
- 现在您可以在笔记本中使用 R 解释器
希望能帮助到你
尝试了 Samuel Alexander 的程序,但未能获得 zeppelin-R-1.0.0-SNAPSHOT.jar。稍微改变一下步骤,我得到了这样的 R 集成:
- 按照https://github.com/datalayer/zeppelin-datalayer中的说明设置先决条件:R、R 包、/opt/spark 中的 Spark(或使用 export SPARK_HOME 指定现有的 spark 位置)
- git 克隆https://github.com/datalayer/zeppelin-R.git
- cd zeppelin-R
- git checkout rscala-z
- mvn clean install -Pspark-1.6 -Dspark.version=1.6.0 \ -Dhadoop.version=2.7.1 -Phadoop-2.6 -Ppyspark \ -Dmaven.findbugs.enable=false -Drat.skip=true -Dcheckstyle.skip= true \ -DskipTests \ -pl '!flink,!ignite,!phoenix,!postgresql,!tajo,!hive,!cassandra,!lens,!kylin'
- 将 zeppelin-R/interpreter/spark/* 复制到您原来的 incubator-zeppelin/interpreter/spark/* (包括包含 SparkRInterpreter 的 zeppelin-spark-0.6.0-incubating-SNAPSHOT)
- 将 incubator-zeppelin/conf/zeppelin-site.xml.template 复制到 incubator-zeppelin/conf/zeppelin-site.xml
- 编辑 incubator-zeppelin/conf/zeppelin-site.xml 并将“org.apache.zeppelin.spark.SparkRInterpreter”添加到 zeppelin.interpreters(这将在 spark 解释器组中添加 %r)
- 重启飞艇
希望它可以提供帮助。
我正在尝试将 zeppelin-R 解释器与 incubator-zeppelin 一起使用 - 你能描述一下 Zeppelin 如何识别这个解释器吗?
我设法编译并运行了 incubator-zeppelin,并且可以编译 zeppelin-R。之后,我将zeppelin-R目录复制到incubator-zeppelin根目录下,添加<module>zeppelin-R</module>
到根目录下的pom.xml中。我可以毫无问题地重新编译 incubator-zeppelin,但 R 解释器没有出现在 Zeppelin 中。