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包,大家就可以自由地调试了。

spark打包详解的更多相关文章

  1. Spark参数详解 一(Spark1.6)

    Spark参数详解 (Spark1.6) 参考文档:Spark官网 在Spark的web UI在"Environment"选项卡中列出Spark属性.这是一个很有用的地方,可以检查 ...

  2. VS2010开发程序打包详解

    VS2010开发程序打包详解 转自:http://blog.sina.com.cn/s/blog_473b385101019ufr.html 首先打开已经完成的工程,如图: 下面开始制作安装程序包. ...

  3. AssetBundle打包详解

    Unity5.x AssetBundle打包详解 在网上查看了很多资料,想详细搞清楚AssetBundle的原理.以实现符合项目需求的打包工具和加载逻辑 1. AssetBundle是什么? Asse ...

  4. Hadoop基础-Idea打包详解之手动添加依赖(SequenceFile的压缩编解码器案例)

    Hadoop基础-Idea打包详解之手动添加依赖(SequenceFile的压缩编解码器案例) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.编辑配置文件(pml.xml)(我 ...

  5. Spark:常用transformation及action,spark算子详解

    常用transformation及action介绍,spark算子详解 一.常用transformation介绍 1.1 transformation操作实例 二.常用action介绍 2.1 act ...

  6. Spark框架详解

    一.引言 作者:Albert陈凯链接:https://www.jianshu.com/p/f3181afec605來源:简书 Introduction 本文主要讨论 Apache Spark 的设计与 ...

  7. Spark中的Spark Shuffle详解

    Shuffle简介 Shuffle描述着数据从map task输出到reduce task输入的这段过程.shuffle是连接Map和Reduce之间的桥梁,Map的输出要用到Reduce中必须经过s ...

  8. HUE配置文件hue.ini 的Spark模块详解(图文详解)(分HA集群和HA集群)

    不多说,直接上干货! 我的集群机器情况是 bigdatamaster(192.168.80.10).bigdataslave1(192.168.80.11)和bigdataslave2(192.168 ...

  9. python 打包详解

    基本步骤: 1. 写setup.py 2. 运行“python setup.py sdist” 3. 在当前目录下会生成文件夹“dist”,打包好的代码就在dist中,以“.tar.gz”的形式被压缩 ...

随机推荐

  1. 吴裕雄--天生自然PYTHON学习笔记:python自动登录网站

    打开 www. 5 l eta . com 网站,如果己经通过某用户名进行了登录,那么先退出登录 . 登录该网站 的步骤一般如下 : ( 1 )单击右上角的“登录”按钮. ( 2 )先输入账号. ( ...

  2. django框架进阶-auth认证系统-长期维护

    ##################    django的认证系统     ####################### 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要 ...

  3. python多进程之IPC机制以及生产者消费者模型

    1.进程间通信(IPC机制) 第一种:管道 import subprocessres=subprocess.Popen('dir',shell=True, stdout=subprocess.PIPE ...

  4. java内部类基础知识

    一.java内部类具体分四大类 1.成员内部类 2.静态内部类 3.局部内部类 4.匿名内部类 1.成员内部类             :作为类的成员,存在于类中  //成员内部类可以调用外部类的所有 ...

  5. HDU-1425-sort(计数排序以及快速排序和堆排序的变种)

    计数排序 Accepted 1425 483MS 5276K 997 B G++ #include "bits/stdc++.h" using namespace std; typ ...

  6. ionic2踩坑之自定义插件开发及调用

    关于ionic2自定义插件开发的文章,插件怎么调用的文章,好像网上都有,不过作为一个新手来说,从插件的开发到某个页面怎么调用,没有一个完整的过程的话,两篇没有关联的文章也容易看的迷糊.这里放到一起来方 ...

  7. log4j.properties总结

    一.以自己的log4j.properties为例: # 配置根Logger,格式:log4j.rootLogger = [ level ] , appenderName1, appenderName2 ...

  8. Oracle与Mysql的高级查询与难点sql

    一.连接查询  1.内连接      内连接用于返回满足连接条件的所有记录.默认情况下,在执行连接查询时如果没有指定任何连接操作符,那么这些连接查询都属于内连接. Sql代码   1.   SELEC ...

  9. 编程语言十万个为什么之java web的基础概念

    1.什么是JAVA Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, Ja ...

  10. 探索Kinect的更多可能——亲历第十九届机器人世界杯RoboCup

    作者:微软亚洲研究院资深项目经理 吴国斌 2015年7月19日,第十九届RoboCup机器人世界杯足球赛,在中国合肥隆重开幕.来自全球七十六个国家和地区的一百余支代表队参加了决赛,他们优秀的作品给观众 ...