想当年被mapreduce虐得死去活来,换上Spark其实是接着虐,记录在此仅作备忘。
1. Spark/Scala在Eclipse中的设置
IntelliJ IDEA也有相应插件,在此不提。基于Eclipse的方案中可以安装ScalaIDE的插件,但还是建议使用ScalaIDE,而且是Milestone版本。IDE的新版本不同于硬件驱动,往往是添加了更好的新功能,不需要坚持用一个老版本,况且开源的东西对老版本的东西感觉好像不维护的样子。
scala工程在Eclipse中有一些基本上逃避不了的问题:
- 首先,怎么创建一个scala的maven工程?
参考Spark/Scala的入门材料,建一个新工程,在pom中配置scala的maven编译插件即可。 - 引入一个scala的maven工程后需要哪些设置?
情况可能各有不同,一条一条对照检查即可:- 未识别出工程为Scala工程(工程文件夹图标有M、J标记,没有S)——需要添加工程的Scala特性
工程->右键->Configure->Add Scala Nature - 未能识别scala代码(没有变成java的package管理)——添加Scala代码路径为Source Folder
比如src/main/scala文件夹下有scala源文件——scala代码文件夹-> 右键 ->Build Path -> Use as Source Folder - 可能的兼容性问题:修改JDK兼容版本从1.5到1.6——
JRE System Library -> 右键 -> Properties -> 选择Java SE-1.6(比如thrift需要至少JDK1.6支持,如果没有飘红忽略亦可)
- 未识别出工程为Scala工程(工程文件夹图标有M、J标记,没有S)——需要添加工程的Scala特性
- Scala版本的依赖版本冲突
在Problems的View中可能会有红色的错误提示说xx.jar是用2.10编译的,而你使用的是2.11,这时对着问题ctrl+1或者右键-> Quick Fix -> 下拉Scala Installation选择相应版本(2.10) - IDE在Build workspace时缓慢、报内存不够
调整最大内存分配。这个还是很有必要的,菜单栏->Scala->Run Setup Diagnostics->选中Use recommended default settings,如果Heap settings中的有1.5G以上就不用改了,如果有需要,修改eclipse.ini(去安装文件夹下找,把512m改成2048m)即可。