SBT,Maven,IDEA
我比较偏爱IDEA,所以使用IDEA来书写scala
一开始不是特别了解SBT,Maven,IDEA项目的区别,因为都差不多,而且都可以运行scala,所以我一开始用了SBT,然后发现这个东西自动默认了,我只要source code改动一下,他马上就会自己重新运行从而显示结果,这听起来很好,但是坑爹的是,我的电脑卡的不行,所以我后来直接用IDEA了
使用IDEA,坑的地方就在于,什么都要自己来设定,包括各种包的依赖,这个是最烦的
Scala和spark版本问题
我tm一开始弄了scala 2.12和spark2.4, 结果发现
spark压根就不支持scala 2.12,这是个实验版本
然后spark对应的scala是2.11
我tm只有scala2.10和scala2.12
好吧,搞了我半天,而且不在之前报错,是在程序运行之后,给你报个predef的错,相应的类方法不一样
有毛病把!!!!
就是说,你如果在main函数里就写点println这种语句,是没问题的,可以正常运行
一旦你用到有关spark的,比如conf,立马报错
神经病!
Hadoop
Spark似乎默认了需要HDFS,所以nnd必须要hadoop
然而hadoop不支持windows啊!
不过,找到了一种方法,
https://github.com/srccodes/hadoop-common-2.2.0-bin
github真是降临人间的天使,有人帮我们写好了hdfs在windows下的支持,只要把这个解压缩之后的根目录设置成你Hadoop的根目录就OK,最好直接设在程序里不要去改环境变量
调试
神经病吧分布式就是这点不好,根本没法调试,因为string还tm是RDD String
只能.foreach(println(_))
说起来,最好的方法还是在一个很小的子集上测试,,然后扩展到其他
以上写于2019/03/27,都是踩得坑,居然才刚刚把环境配好,明天来填坑