3

我目前正在使用 Apache Zeppelin 做一些数据可视化的东西,只是好奇为什么没有人为 R 提供解释器。从文档看来,创建一个新的解释器应该不会太难,但如果它真的这么简单,应该已经有各种语言的口译员了,我错了吗?

4

3 回答 3

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 并使用它进行可视化。说,有一些小故障,如

  1. 它没有表单支持。参考,https://github.com/datalayer/zeppelin-R/issues/1
  2. 不能使用默认的 Spark 上下文。您必须在 R 解释器中创建一个 Spark 上下文并使用它

添加 R 解释器的步骤

  1. git 克隆https://github.com/datalayer/zeppelin-R.git
  2. 导航到 zeppelin-R 并运行 mvn install
  3. 在 incubator-zeppelin/interpreter 中创建 R 文件夹
  4. 复制 zeppelin-R/target/zeppelin-R-1.0.0-SNAPSHOT.jar 到 incubator-zeppelin/interpreter/R
  5. 从https://oss.sonatype.org/content/repositories/snapshots/org/rosuda/REngine/REngine/2.1.1-SNAPSHOT/下载 REngine jar并将其添加到 incubator-zeppelin/interpreter/R 文件夹中
  6. 从https://oss.sonatype.org/content/repositories/snapshots/org/rosuda/REngine/Rserve/1.8.2-SNAPSHOT/下载 RServe jar并将其添加到 incubator-zeppelin/interpreter/R 文件夹中
  7. 将 incubator-zeppelin/conf/zeppelin-env.sh.template 复制到 incubator-zeppelin/conf/zeppelin-site.xml
  8. 编辑 incubator-zeppelin/conf/zeppelin-site.xml 并将“io.datalayer.zeppelin.R.RInterpreter”添加到 zeppelin.interpreters
  9. 重启飞艇
  10. 打开 Zeppelin UI 并单击解释器
  11. 单击“创建”按钮并添加 R 解释器
  12. 现在您可以在笔记本中使用 R 解释器

希望能帮助到你

于 2015-10-31T04:46:29.160 回答
2

尝试了 Samuel Alexander 的程序,但未能获得 zeppelin-R-1.0.0-SNAPSHOT.jar。稍微改变一下步骤,我得到了这样的 R 集成:

  1. 按照https://github.com/datalayer/zeppelin-datalayer中的说明设置先决条件:R、R 包、/opt/spark 中的 Spark(或使用 export SPARK_HOME 指定现有的 spark 位置)
  2. git 克隆https://github.com/datalayer/zeppelin-R.git
  3. cd zeppelin-R
  4. git checkout rscala-z
  5. 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'
  6. 将 zeppelin-R/interpreter/spark/* 复制到您原来的 incubator-zeppelin/interpreter/spark/* (包括包含 SparkRInterpreter 的 zeppelin-spark-0.6.0-incubating-SNAPSHOT)
  7. 将 incubator-zeppelin/conf/zeppelin-site.xml.template 复制到 incubator-zeppelin/conf/zeppelin-site.xml
  8. 编辑 incubator-zeppelin/conf/zeppelin-site.xml 并将“org.apache.zeppelin.spark.SparkRInterpreter”添加到 zeppelin.interpreters(这将在 spark 解释器组中添加 %r)
  9. 重启飞艇

希望它可以提供帮助。

于 2016-02-25T19:09:49.733 回答
0

我正在尝试将 zeppelin-R 解释器与 incubator-zeppelin 一起使用 - 你能描述一下 Zeppelin 如何识别这个解释器吗?

我设法编译并运行了 incubator-zeppelin,并且可以编译 zeppelin-R。之后,我将zeppelin-R目录复制到incubator-zeppelin根目录下,添加<module>zeppelin-R</module>到根目录下的pom.xml中。我可以毫无问题地重新编译 incubator-zeppelin,但 R 解释器没有出现在 Zeppelin 中。

于 2015-10-31T12:14:46.943 回答