SparkR 1.4.0 的安装及使用

1、./sparkR打开R shell之后,使用不了SparkR的函数

装在了   /usr/local/spark-1.4.0/

[root@master sparkR]#./bin/sparkR

能进入R,和没装SparkR的一样,无报错

> library(SparkR)

报错:
Error in library.dynam(lib, package, package.lib) : 
  shared object ?.parkR.so?.not found
Error: package or namespace load failed for ?.parkR?

解决办法:重新编译sparkR之后,运行以下命令:

[root@master sparkR]# ./install-dev.sh

然后运行   

[root@elcndc2bdwd01t spark-1.4.0]# ./bin/sparkR

R version 3.2.0 (2015-04-16) — “Full of Ingredients”
Copyright (C) 2015 The R Foundation for Statistical Computing
Platform: x86_64-unknown-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type ‘license()’ or ‘licence()’ for distribution details.

  Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type ‘contributors()’ for more information and
‘citation()’ on how to cite R or R packages in publications.

Type ‘demo()’ for some demos, ‘help()’ for on-line help, or
‘help.start()’ for an HTML browser interface to help.
Type ‘q()’ to quit R.

下面是启动SparkR那些,包括加载SparkR的库,自动生成 Sparkcontext和sqlContext。
Launching java with spark-submit command /usr/local/spark-1.4.0/bin/spark-submit  “sparkr-shell” /tmp/RtmpAN5LID/backend_port7d49547c6f51
log4j:WARN No appenders could be found for logger (io.netty.util.internal.logging.InternalLoggerFactory).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Using Spark’s default log4j profile: org/apache/spark/log4j-defaults.properties
15/06/25 13:33:13 INFO SparkContext: Running Spark version 1.4.0
…………………………………..
15/06/25 13:33:16 INFO BlockManagerMaster: Registered BlockManager

 Welcome to SparkR!
 Spark context is available as sc, SQL context is available as sqlContext

2、修改log4j的日志控制台打印级别

在Spark的conf目录下,把log4j.properties.template修改为log4j.properties

[appadmin@elcndc2bdwd01t bin]$ cd /usr/local/spark-1.4.0/

$ sudo mv log4j.properties.template  log4j.properties

把log4j.rootCategory=INFO, console改为log4j.rootCategory=ERROR, console即可抑制Spark把INFO级别的日志打到控制台上。

如果要显示全面的信息,则把INFO改为DEBUG。

3、在Rstudio 下使用sparkR的设置

(1)建立sparkR包的位置与rstudio包位置的软链接,用 ln -s 命令

[root@elcndc2bdwd01t /]#  ln -s /usr/local/spark-1.4.0/R/lib/SparkR    /home/enn_james/R/x86_64-unknown-linux-gnu-library/3.2 

(2)在R的环境设置文件(.Rprofile)中增加一行

Sys.setenv(SPARK_HOME=”/usr/local/spark-1.4.0”)  

两个配置文件,.Renviron和.Rprofile。这两个文件名看起来有点奇怪,怪在哪儿?它们只有扩展名,没有主文件名
在操作系统中有一个默认的规则,凡是以点开头的文件都是隐藏文件,而且通常都是配置文件。前面那句list.files()代码你要是运行过,可能就会发现很多以点开头的文件和文件夹。
R启动的时候会在系统的若干位置寻找配置文件,如果文件存在就会使用这些配置。
其中.Renviron文件用来设置一些R要用的环境变量,而.Rprofile文件则是一个R代码文件,在R启动时,如果这个文件存在,它会被首先执行。因此,如果我们有一些任务要在R启动时运行,或有一些个人选项要配置,都可以写在这个文件里。

3、4040端口看Spark的任务执行情况

http://10.37.148.39:4040/jobs/

转载自:https://blog.csdn.net/wa2003/article/details/46635353

You may also like...