当前位置: 首页 > 工具软件 > SparkR > 使用案例 >

SparkR安装出现的步骤及出现的问题

段干子晋
2023-12-01

[6]: https://github.com/benweet/stackedit1. SparkR的安装配置
1.1. R与Rstudio的安装
1.1.1. R的安装

我们的工作环境都是在Ubuntu下操作的,所以只介绍Ubuntu下安装R的方法:

1) 在/etc/apt/sources.list添加源

deb http://mirror.bjtu.edu.cn/cran/bin/linux/ubuntu precise/,

然后更新源apt-get update;

2) 通过apt-get安装:

sudo apt-get install r-base
1.1.2. Rstudio的安装

官网有详细介绍:

http://www.rstudio.com/products/rstudio/download-server/

sudo apt-get install gdebi-core

sudo apt-get install libapparmor1 # Required only for Ubuntu, not Debian

wget http://download2.rstudio.org/rstudio-server-0.97.551-amd64.deb

sudo gdebi rstudio-server-0.97.551-amd64.deb
1.2. rJava安装
1.2.1. rJava介绍

rJava是一个R语言和Java语言的通信接口,通过底层JNI实现调用,允许在R中直接调用Java的对象和方法。

rJava还提供了Java调用R的功能,是通过JRI(Java/R Interface)实现的。JRI现在已经被嵌入到rJava的包中,我们也可以单独试用这个功能。现在rJava包,已经成为很多基于Java开发R包的基础功能组件。

正是由于rJava是底层接口,并使用JNI作为接口调用,所以效率非常高。在JRI的方案中,JVM通过内存直接加载RVM,调用过程性能几乎无损耗,因此是非常高效连接通道,是R和Java通信的首选开发包。
1.2.2. rJava安装

1) 配置rJava环境

执行R CMD javareconf

root@testnode4:/home/payton# R CMD javareconf

2) 启动R并安装rJava

root@testnode4:/home/payton# R

install.packages(“rJava”)

1.3. SparkR的安装
1.3.1. SparkR的代码下载

从网页下载代码SparkR-pkg-master.zip https://github.com/amplab-extras/SparkR-pkg
1.3.2. SparkR的代码编译

1) 解压SparkR-pkg-master.zip,然后cd SparkR-pkg-master/

2) 编译的时候需要指明Hadoop版本和Spark版本

SPARK_HADOOP_VERSION=2.4.1 SPARK_VERSION=1.2.0 ./install-dev.sh

至此,单机版的SparkR已经安装完成。
1.3.3. 分布式SparkR的部署配置

1) 编译成功后,会生成一个lib文件夹,进入lib文件夹,打包SparkR为SparkR.tar.gz,这个是分布式SparkR部署的关键。

2) 由打包好的SparkR.tar.gz在各集群节点上安装SparkR

R CMD INSTALL SparkR.tar.gz

至此分布式SparkR搭建完成。

  1. SparkR的运行
    2.1. SparkR的运行机制

SparkR是AMPLab发布的一个R开发包,为Apache Spark提供了轻量的前端。SparkR提供了Spark中弹性分布式数据集(RDD)的API,用户可以在集群上通过R shell交互性的运行job。SparkR集合了Spark 和R的优势,下面的这3幅图很好的阐释了SparkR的运行机制。

2.2. 用SparkR 进行数据分析
2.2.1. SparkR基本操作

首先介绍下SparkR的基本操作:

第一步,加载SparkR包

library(SparkR)

第二步,初始化Spark context

sc <- sparkR.init(master=” spark://localhost:7077”

              ,sparkEnvir=list(spark.executor.memory="1g",spark.cores.max="10"))

第三步,读入数据,spark的核心是Resilient Distributed Dataset (RDD),RDDS可以从Hadoop的InputFormats来创建(例如,HDFS文件)或通过转化其它RDDS。例如直接从HDFS读取数据为RDD的示例如下:

lines <- textFile(sc, “hdfs://sparkR_test.txt”)

另外,也可以通过parallelize函数从向量或列表创建RDD,如:

rdd <- parallelize(sc, 1:10, 2)

到了这里,那么我们就可以运用RDD的动作(actions)和转换(transformations)来对RDD进行操作并产生新的RDD;也可以很容易地调用R开发包,只需要在集群上执行操作前用includePackage读取R开发包就可以了(例:includePackage(sc, Matrix));当然还可以把RDD转换为R语言格式的数据形式来对它进行操作。

具体可参见如下两个链接:

http://amplab-extras.github.io/SparkR-pkg/

https://github.com/amplab-extras/SparkR-pkg/wiki/SparkR-Quick-Start

那么下面我们就通过两个示例来看下 SparkR是如何运行的吧。1. SparkR的安装配置
1.1. R与Rstudio的安装
1.1.1. R的安装

我们的工作环境都是在Ubuntu下操作的,所以只介绍Ubuntu下安装R的方法:

1) 在/etc/apt/sources.list添加源

deb http://mirror.bjtu.edu.cn/cran/bin/linux/ubuntu precise/,

然后更新源apt-get update;

2) 通过apt-get安装:

sudo apt-get install r-base
1.1.2. Rstudio的安装

官网有详细介绍:

http://www.rstudio.com/products/rstudio/download-server/

sudo apt-get install gdebi-core

sudo apt-get install libapparmor1 # Required only for Ubuntu, not Debian

wget http://download2.rstudio.org/rstudio-server-0.97.551-amd64.deb

sudo gdebi rstudio-server-0.97.551-amd64.deb
1.2. rJava安装
1.2.1. rJava介绍

rJava是一个R语言和Java语言的通信接口,通过底层JNI实现调用,允许在R中直接调用Java的对象和方法。

rJava还提供了Java调用R的功能,是通过JRI(Java/R Interface)实现的。JRI现在已经被嵌入到rJava的包中,我们也可以单独试用这个功能。现在rJava包,已经成为很多基于Java开发R包的基础功能组件。

正是由于rJava是底层接口,并使用JNI作为接口调用,所以效率非常高。在JRI的方案中,JVM通过内存直接加载RVM,调用过程性能几乎无损耗,因此是非常高效连接通道,是R和Java通信的首选开发包。
1.2.2. rJava安装

1) 配置rJava环境

执行R CMD javareconf

root@testnode4:/home/payton# R CMD javareconf

2) 启动R并安装rJava

root@testnode4:/home/payton# R

install.packages(“rJava”)

1.3. SparkR的安装
1.3.1. SparkR的代码下载

从网页下载代码SparkR-pkg-master.zip https://github.com/amplab-extras/SparkR-pkg
1.3.2. SparkR的代码编译

1) 解压SparkR-pkg-master.zip,然后cd SparkR-pkg-master/

2) 编译的时候需要指明Hadoop版本和Spark版本

SPARK_HADOOP_VERSION=2.4.1 SPARK_VERSION=1.2.0 ./install-dev.sh

至此,单机版的SparkR已经安装完成。
1.3.3. 分布式SparkR的部署配置

1) 编译成功后,会生成一个lib文件夹,进入lib文件夹,打包SparkR为SparkR.tar.gz,这个是分布式SparkR部署的关键。

2) 由打包好的SparkR.tar.gz在各集群节点上安装SparkR

R CMD INSTALL SparkR.tar.gz

至此分布式SparkR搭建完成。

  1. SparkR的运行
    2.1. SparkR的运行机制

SparkR是AMPLab发布的一个R开发包,为Apache Spark提供了轻量的前端。SparkR提供了Spark中弹性分布式数据集(RDD)的API,用户可以在集群上通过R shell交互性的运行job。SparkR集合了Spark 和R的优势,下面的这3幅图很好的阐释了SparkR的运行机制。

2.2. 用SparkR 进行数据分析
2.2.1. SparkR基本操作

首先介绍下SparkR的基本操作:

第一步,加载SparkR包

library(SparkR)

第二步,初始化Spark context

sc <- sparkR.init(master=” spark://localhost:7077”

              ,sparkEnvir=list(spark.executor.memory="1g",spark.cores.max="10"))

第三步,读入数据,spark的核心是Resilient Distributed Dataset (RDD),RDDS可以从Hadoop的InputFormats来创建(例如,HDFS文件)或通过转化其它RDDS。例如直接从HDFS读取数据为RDD的示例如下:

lines <- textFile(sc, “hdfs://sparkR_test.txt”)

另外,也可以通过parallelize函数从向量或列表创建RDD,如:

rdd <- parallelize(sc, 1:10, 2)

到了这里,那么我们就可以运用RDD的动作(actions)和转换(transformations)来对RDD进行操作并产生新的RDD;也可以很容易地调用R开发包,只需要在集群上执行操作前用includePackage读取R开发包就可以了(例:includePackage(sc, Matrix));当然还可以把RDD转换为R语言格式的数据形式来对它进行操作。

具体可参见如下两个链接:

http://amplab-extras.github.io/SparkR-pkg/

https://github.com/amplab-extras/SparkR-pkg/wiki/SparkR-Quick-Start

那么下面我们就通过两个示例来看下 SparkR是如何运行的吧。1. SparkR的安装配置
1.1. R与Rstudio的安装
1.1.1. R的安装

我们的工作环境都是在Ubuntu下操作的,所以只介绍Ubuntu下安装R的方法:

1) 在/etc/apt/sources.list添加源

deb http://mirror.bjtu.edu.cn/cran/bin/linux/ubuntu precise/,

然后更新源apt-get update;

2) 通过apt-get安装:

sudo apt-get install r-base
1.1.2. Rstudio的安装

官网有详细介绍:

http://www.rstudio.com/products/rstudio/download-server/

sudo apt-get install gdebi-core

sudo apt-get install libapparmor1 # Required only for Ubuntu, not Debian

wget http://download2.rstudio.org/rstudio-server-0.97.551-amd64.deb

sudo gdebi rstudio-server-0.97.551-amd64.deb
1.2. rJava安装
1.2.1. rJava介绍

rJava是一个R语言和Java语言的通信接口,通过底层JNI实现调用,允许在R中直接调用Java的对象和方法。

rJava还提供了Java调用R的功能,是通过JRI(Java/R Interface)实现的。JRI现在已经被嵌入到rJava的包中,我们也可以单独试用这个功能。现在rJava包,已经成为很多基于Java开发R包的基础功能组件。

正是由于rJava是底层接口,并使用JNI作为接口调用,所以效率非常高。在JRI的方案中,JVM通过内存直接加载RVM,调用过程性能几乎无损耗,因此是非常高效连接通道,是R和Java通信的首选开发包。
1.2.2. rJava安装

1) 配置rJava环境

执行R CMD javareconf

root@testnode4:/home/payton# R CMD javareconf

2) 启动R并安装rJava

root@testnode4:/home/payton# R

install.packages(“rJava”)

1.3. SparkR的安装
1.3.1. SparkR的代码下载

从网页下载代码SparkR-pkg-master.zip https://github.com/amplab-extras/SparkR-pkg
1.3.2. SparkR的代码编译

1) 解压SparkR-pkg-master.zip,然后cd SparkR-pkg-master/

2) 编译的时候需要指明Hadoop版本和Spark版本

SPARK_HADOOP_VERSION=2.4.1 SPARK_VERSION=1.2.0 ./install-dev.sh

至此,单机版的SparkR已经安装完成。
1.3.3. 分布式SparkR的部署配置

1) 编译成功后,会生成一个lib文件夹,进入lib文件夹,打包SparkR为SparkR.tar.gz,这个是分布式SparkR部署的关键。

2) 由打包好的SparkR.tar.gz在各集群节点上安装SparkR

R CMD INSTALL SparkR.tar.gz

至此分布式SparkR搭建完成。

  1. SparkR的运行
    2.1. SparkR的运行机制

SparkR是AMPLab发布的一个R开发包,为Apache Spark提供了轻量的前端。SparkR提供了Spark中弹性分布式数据集(RDD)的API,用户可以在集群上通过R shell交互性的运行job。SparkR集合了Spark 和R的优势,下面的这3幅图很好的阐释了SparkR的运行机制。

2.2. 用SparkR 进行数据分析
2.2.1. SparkR基本操作

首先介绍下SparkR的基本操作:

第一步,加载SparkR包

library(SparkR)

第二步,初始化Spark context

sc <- sparkR.init(master=” spark://localhost:7077”

              ,sparkEnvir=list(spark.executor.memory="1g",spark.cores.max="10"))

第三步,读入数据,spark的核心是Resilient Distributed Dataset (RDD),RDDS可以从Hadoop的InputFormats来创建(例如,HDFS文件)或通过转化其它RDDS。例如直接从HDFS读取数据为RDD的示例如下:

lines <- textFile(sc, “hdfs://sparkR_test.txt”)

另外,也可以通过parallelize函数从向量或列表创建RDD,如:

rdd <- parallelize(sc, 1:10, 2)

到了这里,那么我们就可以运用RDD的动作(actions)和转换(transformations)来对RDD进行操作并产生新的RDD;也可以很容易地调用R开发包,只需要在集群上执行操作前用includePackage读取R开发包就可以了(例:includePackage(sc, Matrix));当然还可以把RDD转换为R语言格式的数据形式来对它进行操作。

具体可参见如下两个链接:

http://amplab-extras.github.io/SparkR-pkg/

https://github.com/amplab-extras/SparkR-pkg/wiki/SparkR-Quick-Start

那么下面我们就通过两个示例来看下 SparkR是如何运行的吧。
文章转载自:http://www.cnblogs.com/payton/p/4227770.html
个人按照上述步骤实现时,出现如下毛病:

  Invalid or corrupt jarfile sbt/sbt-launch-0.13.5.jar

我解决的办法是下载一个已经编译好的sbt-launch-0.13..jar包,去替换/opt/SparkR-pkg-master/pkg/src/sbt中的sbt-launch-0.13.6.jar。该文件已经上传我的资源,请自己查找。

 类似资料: