Apache Zeppelin 中 R 解释器

2024-05-23 22:48
文章标签 apache 解释器 zeppelin

本文主要是介绍Apache Zeppelin 中 R 解释器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

概述

R是用于统计计算和图形的免费软件环境。

要在Apache Zeppelin中运行R代码和可视化图形,您将需要在主节点(或您的开发笔记本电脑)上使用R。

  • 对于Centos: yum install R R-devel libcurl-devel openssl-devel
  • 对于Ubuntu: apt-get install r-base

使用简单的R命令验证安装:

- "print(1+1)" 

要享受plots,请安装附加库:

+  devtools with `R  - "install.packages('devtools', repos = '<a href="http://cran.us.r-project.org%27%29/" "="" style="text-decoration-line: none; border-radius: 0px; background: 0px center; border: 0px; bottom: auto; float: none; height: auto; left: auto; line-height: 20px; margin: 0px; outline: 0px; overflow: visible; padding: 0px; position: static; right: auto; top: auto; vertical-align: baseline; width: auto; box-sizing: content-box; min-height: inherit; color: rgb(42, 0, 255) !important;">http://cran.us.r-project.org')" `
+  knitr with `R  - "install.packages('knitr', repos = '<a href="http://cran.us.r-project.org%27%29/" "="" style="text-decoration-line: none; border-radius: 0px; background: 0px center; border: 0px; bottom: auto; float: none; height: auto; left: auto; line-height: 20px; margin: 0px; outline: 0px; overflow: visible; padding: 0px; position: static; right: auto; top: auto; vertical-align: baseline; width: auto; box-sizing: content-box; min-height: inherit; color: rgb(42, 0, 255) !important;">http://cran.us.r-project.org')" `
+  ggplot2 with `R  - "install.packages('ggplot2', repos = '<a href="http://cran.us.r-project.org%27%29/" "="" style="text-decoration-line: none; border-radius: 0px; background: 0px center; border: 0px; bottom: auto; float: none; height: auto; left: auto; line-height: 20px; margin: 0px; outline: 0px; overflow: visible; padding: 0px; position: static; right: auto; top: auto; vertical-align: baseline; width: auto; box-sizing: content-box; min-height: inherit; color: rgb(42, 0, 255) !important;">http://cran.us.r-project.org')" `
+  Other vizualisation librairies: `R  - "install.packages(c('devtools','mplot', 'googleVis'), repos = 'http://cran.us.r-project.org'); require(devtools); install_github('ramnathv/rCharts')"

我们建议您还安装以下可选的R库,用于快乐的数据分析:

  • glmnet
  • PROC
  • data.table
  • caret
  • sqldf
  • wordcloud

 

配置

要使用R解释器运行Zeppelin,SPARK_HOME必须设置环境变量。最好的方式是编辑conf/zeppelin-env.sh。如果没有设置,R解释器将无法与Spark进行接口。

你也应该复制conf/zeppelin-site.xml.templateconf/zeppelin-site.xml。这将确保齐柏林首次见到R解释器。

 

使用R解释器

默认情况下,将R解释显示为两个Zeppelin解释器,%r%knitr

%r将表现得像普通REPL。您可以像CLI中一样执行命令。

R基本绘图得到完全支持

如果您返回一个data.frame,则Zeppelin将尝试使用Zeppelin的内置可视化进行显示。

%knitr接口直接针对knitr第一行的chunk选项:

两位解释器的环境相同。如果您定义了一个变量%r,那么如果您使用一个调用,它将在范围内knitr

 

使用SparkR&语言间移动

如果SPARK_HOME设置,SparkR包将自动加载:

星火上下文和语境SQL创建并注入当地环境自动scsql

同样的情况下与共享%spark%sql%pyspark解释:

您还可以使普通的R变量在scala和Python中可访问:

反之亦然:

 

警告和故障排除

  • R解释器几乎所有的问题都是由于错误设置造成的SPARK_HOME。R解释器必须加载SparkR与运行版本的Spark匹配的软件包版本,并通过搜索来实现SPARK_HOME。如果Zeppelin未配置为与Spark接口SPARK_HOME,则R解释器将无法连接到Spark。

  • knitr环境是持久的。如果您从Zeppelin运行一个更改变量的块,则再次运行相同的块,该变量已被更改。使用不变变量。

  • (请注意,%spark.r%r是调用同一解释的两种不同的方式,因为是%spark.knitr%knitr默认情况下,Zeppelin将R解释器放在%spark.翻译组。

  • 使用%r解释器,如果你返回一个data.frame,HTML或一个图像,它将主导结果。所以如果你执行三个命令,一个是hist(),所有你会看到的是直方图,而不是其他命令的结果。这是一个Zeppelin限制。

  • 如果您从解释器返回data.frame(例如,从调用head()%spark.r,则将由Zeppelin的内置数据可视化系统进行解析。

  • 为什么knitr不是的rmarkdown?为什么没有htmlwidgets?为了支持htmlwidgets,它具有间接依赖,rmarkdown使用pandoc,这需要写入和读取光盘。这使它比knitrRAM完全运行的速度慢许多倍。

  • 为什么不ggvisshiny?支持shiny需要将反向代理集成到Zeppelin中,这是一项任务。

  • 最大的OS X和不区分大小写的文件系统。如果您尝试安装在不区分大小写的文件系统(Mac OS X默认值)上,则maven可能无意中删除安装目录,因为r它们R成为相同的子目录。

  • 错误unable to start device X11与REPL解释。检查你的shell登录脚本,看看它们是否在DISPLAY调整环境变量。这在某些操作系统上是常见的,作为ssh问题的解决方法,但可能会干扰R绘图。

  • akka库版本或TTransport错误。如果您尝试使用SPARK_HOME运行Zeppelin,该版本的Spark版本与-Pspark-1.x编译Zeppelin时指定的版本不同。


这篇关于Apache Zeppelin 中 R 解释器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/996635

相关文章

Apache Ignite 与 Spring Boot 集成详细指南

《ApacheIgnite与SpringBoot集成详细指南》ApacheIgnite官方指南详解如何通过SpringBootStarter扩展实现自动配置,支持厚/轻客户端模式,简化Ign... 目录 一、背景:为什么需要这个集成? 二、两种集成方式(对应两种客户端模型) 三、方式一:自动配置 Thick

Apache Ignite缓存基本操作实例详解

《ApacheIgnite缓存基本操作实例详解》文章介绍了ApacheIgnite中IgniteCache的基本操作,涵盖缓存获取、动态创建、销毁、原子及条件更新、异步执行,强调线程池注意事项,避免... 目录一、获取缓存实例(Getting an Instance of a Cache)示例代码:二、动态

SpringBoot整合Apache Flink的详细指南

《SpringBoot整合ApacheFlink的详细指南》这篇文章主要为大家详细介绍了SpringBoot整合ApacheFlink的详细过程,涵盖环境准备,依赖配置,代码实现及运行步骤,感兴趣的... 目录1. 背景与目标2. 环境准备2.1 开发工具2.2 技术版本3. 创建 Spring Boot

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存

Spring Boot 整合 Apache Flink 的详细过程

《SpringBoot整合ApacheFlink的详细过程》ApacheFlink是一个高性能的分布式流处理框架,而SpringBoot提供了快速构建企业级应用的能力,下面给大家介绍Spri... 目录Spring Boot 整合 Apache Flink 教程一、背景与目标二、环境准备三、创建项目 & 添

Apache 高级配置实战之从连接保持到日志分析的完整指南

《Apache高级配置实战之从连接保持到日志分析的完整指南》本文带你从连接保持优化开始,一路走到访问控制和日志管理,最后用AWStats来分析网站数据,对Apache配置日志分析相关知识感兴趣的朋友... 目录Apache 高级配置实战:从连接保持到日志分析的完整指南前言 一、Apache 连接保持 - 性

apache的commons-pool2原理与使用实践记录

《apache的commons-pool2原理与使用实践记录》ApacheCommonsPool2是一个高效的对象池化框架,通过复用昂贵资源(如数据库连接、线程、网络连接)优化系统性能,这篇文章主... 目录一、核心原理与组件二、使用步骤详解(以数据库连接池为例)三、高级配置与优化四、典型应用场景五、注意事

解决Maven项目报错:failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0的问题

《解决Maven项目报错:failedtoexecutegoalorg.apache.maven.plugins:maven-compiler-plugin:3.13.0的问题》这篇文章主要介... 目录Maven项目报错:failed to execute goal org.apache.maven.pl

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka

使用Apache POI在Java中实现Excel单元格的合并

《使用ApachePOI在Java中实现Excel单元格的合并》在日常工作中,Excel是一个不可或缺的工具,尤其是在处理大量数据时,本文将介绍如何使用ApachePOI库在Java中实现Excel... 目录工具类介绍工具类代码调用示例依赖配置总结在日常工作中,Excel 是一个不可或缺的工http://