问题
大家使用Maven编译Spark程序打包可能会遇到下边的情况:
打一个jar包花费长达3分钟的时间
一个jar包的体积200多MB,如果依赖多可能会更大
再加上公司这种佛系网络,只能喝喝茶,谈谈人生与理想了
解决方案
我们可以使用下列步骤来解决:
- 在HDFS创建一个目录来缓存程序依赖的jar包, 这里要注意权限问题,保证该目录下的文件可以正常读取
hadoop fs -mkdir /user/spark/spark-libs
- 将Spark相关的jar包以及开发可能会用到的jar包全部上传到该目录,我这里是CDH,本身已经把jar做了整合,如果是Apache版本,大家可到各Hadoop各组件安装目录下上传相关jar包到该目录
hadoop fs -put -f /opt/cloudera/parcels/CDH-5.13.2-1.cdh5.13.2.p0.3/jars/* /use