spark打包还是比较复杂的,特别的其中有关R语言的模块。在本章,我就将其中遇到的所有问题为大家一一讲解,为大家提供一点经验。
  这里的打包命令是直接从官网中找的,这里我们最后得到的是tgz格式的包。打包的命令是——./dev/make-distribution.sh --name custom-spark --pip --r --tgz -Psparkr -Phadoop-2.7 -Phive -Phive-thriftserver -Pmesos -Pyarn -Pkubernetes
  这里我们首先修改make-distribution.sh中MVN="$SPARK_HOME/build/mvn",将其改为自己maven路径。这里我修改为——MVN="/usr/local/maven-3.5.3/bin/mvn"。
  报错一:
  [ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.6.0:exec (sparkr-pkg) on project spark-core_2.11: Command execution failed.: Process exited with an error: 1 (Exit value: 1) -> [Help 1]很可能是由于R语言并没有安装,因为我们这里同样报了如下错误:
  解决方法:在mac上安装R语言。这里我下载了R-3.6.0.pkg,然后直接安装就好。
  报错二:
  no knitr found。
  解决方法:在R语言的命令行下,也就是/Applications/R.app/Contents/MacOS/下直接执行R,然后在输入框内执行——install.packages("knitr")
  报错三:
  there is no package called 'stringi'
  解决方法:在R的命令行下执行——install.packages('stringi')
  报错四:
  Using Caret Package but Getting Error in library(e1071)
  解决方法:在R命令行下执行install.packages('e1071', dependencies=TRUE)
  报错五:
  no rmarkdown、testthat
  解决方法:在R命令行下执行install.packages('rmarkdown')、install.packages('testthat')
  报错六:
  调用tools::texi2pdf()是出了错:
  解决方法:下载MacTex后安装。然后执行sudo find / -iname texbin,我这里有如下路径
  接着,我们需要设置R语言的环境变量。
  这里有两种设置环境变量的方法,一种是临时的,也就是会话级别的,另一种是永久的。
  关于临时的环境变量设置,在链接——https://www.r-bloggers.com/building-r-packages-missing-path-to-pdflatex/中将的比较详细了,我这里就不赘述了。我们这里需要关注的是永久环境变量的设置。
  要设置永久的环境变量,我们需要更改/etc/profile文件,这里我们添加在文件中添加:
  export LATEX_HOME=/Library/TeX/texbin
  export PATH=$PATH:$LATEX_HOME
  执行了source /etc/profile后,我们打开另外一个窗口,在R命令行下执行:
  Sys.getenv("PATH") /Library/TeX/texbin
  接着执行:Sys.which("pdflatex") ,这里我们发现:
  然后,我们再在spark-master/目录下执行:
  ./dev/make-distribution.sh --name custom-spark --pip --r --tgz -Psparkr -Phadoop-2.7 -Phive -Phive-thriftserver -Pmesos -Pyarn -Pkubernetes
  等一段时间,就会发现在根目录下已经打好了包:spark-2.3.0-SNAPSHOT-bin-custom-spark.tgz
  到现在为止,我们就打好了spark的tgz包,大家就可以自由地调试了。

最新文章

  1. 自制Azure中国版“加血包”
  2. half extents
  3. 基于HT for Web的Web SCADA工控移动应用
  4. javascrit2.0完全参考手册(第二版) 第2章第2节 语言特性
  5. Extract Stylish styles and save as JSON format
  6. Unity3D 通用提示窗口实现分析(Inventory Pro学习总结)
  7. [转载] TCP与UDP对比
  8. TeeChart显示三维的图形,使用Surface
  9. tomcat web容器中,调用jersey client端报错的处理
  10. bootstrap初探2
  11. Borda count
  12. Codeforces Round #383 (Div. 2)C. Arpa's loud Owf and Mehrdad's evil plan
  13. C# 反射 Type.GetType()
  14. Centos 7 虚拟机挂载U盘
  15. Python学习(二十二)—— 前端基础之BOM和DOM
  16. Delphi如何创建并绘制EMF图形文件
  17. 【LOJ】#2722. 「NOI2018」情报中心
  18. 转:centos7.2安装jdk1.6和/etc/profile不生效问题
  19. js实现点击按钮显示某个区域 然后点击页面中任意其他位置,隐藏该区域
  20. StringUtils.htmlEncode()--html标签过滤方法实现

热门文章

  1. 做成像的你不得不了解的真相2-灵敏度和QE
  2. django框架基础-ORM进阶-长期维护
  3. OSPF 大实验
  4. JQ主页图片划动切换效果
  5. Linux Ubuntu 安装SSH服务
  6. mac命令日常总结
  7. JAVA递归、非递归遍历二叉树
  8. 前端自动化构建工具gulp
  9. <NOIP2005提高T2>过河の思路
  10. <USACO06FEB>奶牛零食Treats for the Cowsの思路