五、项目部署
难点:
项目在实验室部署没有意外,顺利运行跑出结果,但是提交集团之后会有2大问题,这里记录一下
1、操作hive数据库找不到表和数据库;
2、使用SparkSession/SparkContext操作数据库报错序列化问题;
解决方案:
1、因为我的项目中是不需要连接hive的,代码是部署上去直接操作spark-shell的,所以没有使用到任何配置文件,所以无关乎hive和hdfs配置文件是否存在的问题;
在提交的过程中也是用过这样的方法,在submit提交的时候,添加 --files hive-site.xml 并将xml文件放在和jar包同级位置,但还是没解决问题,
打开集团的spark2-shell后,发现一点端倪,在选择连接方式上(SparkSession or SparkContext)有问题,所以将原本代码中的sparkContext改为SparkSession发现不报错。
2、序列化问题报错是因为实验室环境和集团环境不一样导致的,具体是什么不一样呢,就是spark的一个jar包问题:spark-unsafe_2.11-2.3.0.cloudera3.jar
将jar包放在相应位置即可解决序列化问题,相关网址链接:
https://blog.youkuaiyun.com/lsr40/article/details/80166644