scala
东纪元
这个作者很懒,什么都没留下…
展开
-
maven打包scala,报错scalac error: xxxx\target\classes does not exist or is not a director
我的报错信息是:scalac error: C:\Users\周利东\Desktop\daydayup\spark\target\classes does not exist or is not a directory找了半天原因,以前也打包过完全没有任何问题。。然后网上有篇文章说是中文路径问题。。以前也这样啊,都没问题,怎么现在却出问题了?抱着试试看的状态把项目换到E盘(因为用户名是中文,是在不好改)然后就ojbk了,我曹,jvm系的语言还会有中文路径问题,也是醉了。。好吧,我当初自己..原创 2020-05-13 00:08:27 · 4183 阅读 · 6 评论 -
maven 打包scala报错问题:error: not found: object xxx
我的完整报错是:E:\daydayup\spark\src\main\scala\com\tt\KafkaSparkStreamTest.scala:3: error: not found: object kafka就这些信息根本看不出啥。。还是靠百度,找到一篇资料说是maven仓库移动一下,然后他的文章中我看他的仓库是从路径有中文的移动到了全英文的路径下。。然后就没问题了,我也移动了maven仓库到英文路径下,然后idea setting重新设置仓库位置为英文下的那个,然后就成功了。,,可气.原创 2020-05-13 00:08:15 · 1495 阅读 · 1 评论 -
spark aggregateByKey与aggregate
一、aggregateByKey学过hadoop的话其实就很好理解aggregateByKey了。def aggregateByKey[U: ClassTag](zeroValue: U)(seqOp: (U, V) => U,combOp: (U, U) => U): RDD[(K, U)] = self.withScope首先,这个函数是处于数据类型为key-valu...原创 2019-12-09 22:56:50 · 263 阅读 · 0 评论 -
scala 泛型上下限、协变、逆变
首先说明,我是学java的,暂时现在java还是我的本命语言,也就说,对java语法滚瓜烂熟,其他语言语法就随便用用,细节没记。所以,学习scala时都是用于转换成java的思维去理解(scala代码转class字节码再转java代码,一样能走通不是么,了解底层,就不用想太多了,节省时间)重点来了,这里记录一下学习scala泛型相关的东西。。就是与java泛型的做个对比。。一、上下限...原创 2019-12-01 23:26:59 · 345 阅读 · 0 评论 -
scala 隐式转换(隐式值、隐式方法、隐式类)
学过java的获取其他有基本类型语言的都应该知道隐式转换。。。像byte可以默认转为short、int、long。而scala没有基本类型,只有对象,所以肯定不是像上面那样直接转换的。所以,就有了隐式值、隐式方法、隐式类这三种实现隐式转换的特殊语法(很不喜欢语法糖太多的语言,因为我记忆力不好,初学要记得东西太多,理解了也没用,过段时间不也还会忘,毕竟自己私下学,没有用在项目中,所以不经常用...原创 2019-11-21 11:26:00 · 225 阅读 · 0 评论 -
scala super动态绑定
看前须知:可以先看总结,看不明白再把示例代码复制到编译器中,然后对照着我的文字讲述一步一步看过去。请耐心看下去。否则你就不一定能看懂了。(写了三小时,网上几乎没资料)如果有更好的关于这方面的资料,希望有朋友能推荐一下。。。我的文笔写出来估计也就我能看懂了。代码:object Test { def main(args: Array[String]): Unit = { ...原创 2019-11-19 11:35:42 · 369 阅读 · 1 评论 -
scala中类继承的类和混入的特征trait中具有相同签名的方法时,会出现什么问题?(与java的有些不同)
一、理解:一个类的父类或者混入的多个特征中,具有相同签名的方法,如果该方法不是来自同一个祖宗。。则会出错。必须在当前类重写该方法才能正确执行(这里与java多继承接口一样)反例代码:object Test{ def main(args:Array[String]): Unit ={ val son = new Son son.a() ...原创 2019-11-17 19:42:29 · 312 阅读 · 0 评论 -
scala 类继承之属性重写 对比java的属性(能叫重写?)
1、scala对于可变属性(var)只能实现抽象属性,而不能重写可变属性。2、对于不可变属性就没有限制了,既可以实现抽象属性,也可以重写不可变属性。上面两个,重写时候是需要加override关键字的。。而实现的时候可加可不加。在java中不用区分重写和实现的区别。但scala属性的重写和实现是需要区分的。。scala重写:指父类中该属性已经存在实现,子类又要再定义一个相同...原创 2019-11-16 23:31:28 · 636 阅读 · 0 评论