问题:
Spark支持sparkR需要安装R
如果R需要支持强大的内库,就需要安装第三方内库(需要连网)。
解决步骤:
第一:安装开发工具集
R对操作系统有一定的要求,所以先安装开发工具集,因为里面有c++的编译
配置操作系统yum源(如果不会请百度)
安装开发工具集
yumgroupinstall –y "Development and Creative Workstation"
第二:下载并创建epel yum源
1. 找一台可以上网的机器,操作系统需要跟生产环境一样yum install epel-* 2. 下载yum 源 reposync -n -r epel -l --download-metadata --downloadcomps 在环境下面就会生产相应的epel目录 3. 创建yum 的yum的包 createrepo epel 在上面的生成的epel 目录之前 ,来创建 4: 创建生产yum源 (注意关闭生产防火墙,关闭selliunx ) yum install httpd systemctl start httpd
5:将epel目录拷到 /var/www/html chmod 777 –R /var/www/html/epel
6: 创建系统yum源 [epel] name=Extra Packages for Enterprise Linux 7 baseurl=http://10.1.245.14/epel/7/x86_64 enabled=1 path=/ gpgcheck=0 |
第三:安装R
yum install R-\* |
第四:测试sparkR可以使用
1:keyberos认证 kinit -k -t /etc/security/keytabs/spark.headless.keytab spark-mysqlcluster@DCP.COM klist #验证 2:准备测试数据 cd /usr/hdp/current/spark-client su spark hdfs dfs -copyFromLocal examples/src/main/resources/people.txt people.txt hdfs dfs -copyFromLocal examples/src/main/resources/people.json people.json
3:启动sparkR cd /usr/hdp/2.3.4.7-4/spark/bin/ ./sparkR 看到下图 ____ __ / __/__ ___ _____/ /__ _\ \/ _ \/ _ `/ __/ '_/ /___/ .__/\_,_/_/ /_/\_\ version 1.5.2 /_/
成功 4:测试:在>下面一行一行的输入 sqlContext <- sparkRSQL.init(sc) df <- createDataFrame(sqlContext, faithful) head(df)
出现如下: 17/04/19 18:11:18 INFO DAGScheduler: Job 1 finished: dfToCols at NativeMethodAccessorImpl.java:-2, took 0.738906 s eruptions waiting 1 3.600 79 2 1.800 54 3 3.333 74 4 2.283 62 5 4.533 85 6 2.883 55 成功 查看已安装的包: >.packages(all.available=T) [1] "SparkR" 看到这个,可以知道已经支持sparkR
|
扩展第三方包
1:将第三方的包全部抓下来: wget -m -e robots=off -U "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6" https://cran.rstudio.com/ 2:安装httpd yum install httpd –y 3:启动apache systemctl start httpd 4:将cran.rstudio.com 目录里面的内容移动 /var/www/html 5: 使用浏览器检查一下 6:使用R在线的方式进行安装 R -e "install.packages('shiny', repos='http://ip/')" #说明 第一个红色是包名,第二个红色是url 7:安装完成 检查 R -e ’library("ABC")‘ Error in library("ABC") #报错
好了。 |
附录
1、查看已加载的包
>(.packages())
2、卸除已加载的包
如卸除RMySQL包
>detach("package:RMySQL")
3、安装包
>install.packages("rjson")
4、彻底删除已安装的包:
remove.packages(c("pkg1","pkg2") , lib = file.path("path", "to", "library"))
5、查看已安装的包
>installed.packages()[,c('Package','Version','LibPath')]
6、查看某个包提供的函数
> help(package='TSA')
7、已安装的所有的包
.packages(all.available=T)
R包安在哪里,可以安装哪些R包
首先在R里面输入.libPaths()即可查看当前的R把包安装到了机器的哪个地方,这样可以直接进入目录去查看有哪些包,每个包都会有一个文件夹。
其次你可以用installed.packages()查看你已经安装了哪些包。
最后你可以用available.packages()可以查看自己的机器可以安装哪些包!
4种常见的R包安装方式 R自带函数直接安装 这个是最简单的,而且不需要考虑各种包之间的依赖关系。 对普通的R包,直接install.packages()即可,一般下载不了都是包的名字打错了,或者是R的版本不够。如果下载了安装不了,一般是依赖包没弄好,或者你的电脑缺少一些库文件,如果实在是找不到或者下载慢,一般就用repos=来切换一些镜像。 > install.packages("ape") ## 直接输入包名字即可 Installing package into ‘C:/Users/jmzeng/Documents/R/win-library/3.1’ (as ‘lib’ is unspecified) ##一般不指定lib,除非你明确知道你的lib是在哪里 trying URL 'http://mirror.bjtu.edu.cn/cran/bin/windows/contrib/3.1/ape_3.4.zip' Content type 'application/zip' length 1418322 bytes (1.4 Mb) opened URL ##根据你选择的镜像,程序会自动拼接好下载链接url downloaded 1.4 Mb package ‘ape’ successfully unpacked and MD5 sums checked ##表明你已经安装好包啦 The downloaded binary packages are in ##程序自动下载的原始文件一般放在临时目录,会自动删除 C:\Users\jmzeng\AppData\Local\Temp\Rtmpy0OivY\downloaded_packages 对于bioconductor的包,我们一般是 source("http://bioconductor.org/biocLite.R") ##安装BiocInstaller #options(BioC_mirror=”http://mirrors.ustc.edu.cn/bioc/“) 如果需要切换镜像 biocLite("ggbio") #或者直接 BiocInstaller::biocLite('ggbio') ## 前提是你已经安装好了BiocInstaller #某些时候你还需要卸载 remove.packages("BiocInstaller") #然后安装新的 进入主页找到包下载地址 可以选择用R自带的下载器来下载,也可以把下面的url拷贝到浏览器用浏览器来下载 packageurl <- "http://cran.r-project.org/src/contrib/Archive/ggplot2/ggplot2_0.9.1.tar.gz" packageurl <- "http://cran.r-project.org/src/contrib/Archive/gridExtra/gridExtra_0.9.1.tar.gz" install.packages(packageurl, repos=NULL, type="source") #packageurl <- "http://www.bioconductor.org/packages/2.11/bioc/src/contrib/ggbio_1.6.6.tar.gz" #packageurl <- "http://cran.r-project.org/src/contrib/Archive/ggplot2/ggplot2_1.0.1.tar.gz" install.packages(packageurl, repos=NULL, type="source") 这样安装的就不需要选择镜像了,也跨越了安装器的版本! 下载到本地后再安装 download.file("http://bioconductor.org/packages/release/bioc/src/contrib/BiocInstaller_1.20.1.tar.gz","BiocInstaller_1.20.1.tar.gz") ##也可以选择用浏览器下载这个包 install.packages("BiocInstaller_1.20.1.tar.gz", repos = NULL) 如果你用的RStudio这样的IDE,那么直接用鼠标就可以操作了。或者用choose.files()来手动选择把下载的源码BiocInstaller_1.20.1.tar.gz放到哪里。但这种形式大部分安装都无法成功,因为R包之间的依赖性很强! 命令行版本安装 如果是linux版本,命令行从网上自动下载包如下: sudo su - -c \ "R -e \"install.packages('shiny', repos='https://cran.rstudio.com/')\"" 如果是linux,命令行安装本地包,在shell的终端 sudo R CMD INSTALL package.tar.gz
|