1、
问题描述:在scala类中设置拦截地址时报错
原因分析:设置拦截时,拦截地址书写格式不对
解决方法:将@RequestMapping("/connect")改写成@RequestMapping(value=Array("/connect"))
2、
问题描述:在SpringBoot项目中编写scala代码,启动时报错:Error:scalac:package macros contains object and package with same name:blockbox
原因分析:类的名称不符合规范
解决方法:在定义scala类的时候,选择class,不要选择object,否则添加拦截会报错
3、
问题描述:scala中将list类型的数据转成json串返回,启动时报错
原因分析:根据提示,调用的JSON.toJSONString()方法存在重载,toJSONString(x$1:Any)和toJSONString(x$1: Any, x$2: com.alibaba.fastjson.serializer.SerializerFeature*),同时匹配了两个方法的引用,导致报错
解决方法:引用第二种方法,避免调用方法时存在方法重载错误出现的可能
4、
问题描述:spark API提交作业时报异常:WARN TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster uito ensure that workers are registered and have sufficient memory
原因分析:当前的集群的可用资源不能满足应用程序所请求的资源。这个首先要检查一下spark-env.sh文件里面分给每个worker的executor的memory是多少。当app中上述的参数超过这个数值,那么app就不会找这个worker进行工作,而是去找满足数值条件的worker。
一般来说,每个节点的分配都是一样的,所以遇到这种情况基本是因为参数超过了分配给worker的executor的memory的数值。
解决方法:到spark-env.sh配置文件中修改executor(worker)的数值(当然前提是你有那么多内存),配置如下
5、
问题描述:工程报错,Scala Version Problem
问题分析:编写工程的scala版本和运行工程的版本不一致
解决方法:调整开发工具的scala版本
后续持续更新中。。。。。。