Scala
文章平均质量分 53
Scala
从零开始的数据猿
这个作者很懒,什么都没留下…
展开
-
scala中:: , +:, :+, :::, +++的区别
: 该方法被称为cons,意为构造,向队列的头部追加数据,创造新的列表。用法为 x::list,其中x为加入到头部的元素,无论x是列表与否,它都只将成为新生成列表的第一个元素,也就是说新生成的列表长度为list的长度+1(btw, x::list等价于list.::(x)):+和+: 两者的区别在于:+方法用于在尾部追加元素,+:方法用于在头部追加元素,和::很类似,但是::可以用于pattern match ,而+:则不行. 关于+:和:+,只要记住冒号永远靠近集合类型就OK了。原创 2022-10-24 09:15:21 · 232 阅读 · 0 评论 -
Scala Array和List转ListBuffer
用to[ListBuffer]方法如何删除ListBuffer元素如果ListBuffer中有相同多个元素 只能删除一个批量删除相同元素te: scala.collection.mutable.ListBuffer[Int] = ListBuffer(1, 4, 6, 7, 8, 9, 1)ListBuffer(4, 6, 7, 8, 9)原创 2022-07-09 00:12:37 · 646 阅读 · 0 评论 -
自定义Spark累加器
继续跟踪LongAccumulator这个类可以看到,累加器底层其实是继承了AccumulatorV2这个方法,但是里面有两个类型参数,是什么东西呢?继续跟踪最终是这个类型,也就是说,上面的两个参数也就是一个是输入,一个是输出所以根据上面的源码可以知道,如果我们需要自定义自己的累加器的,只需要继承AccumulatorV2[IN, OUT] 这个类,然后重写其余的方法,自定义我们的逻辑即可当创建完累加器之后,在使用的时候,spark是不知道我们自定义的累加器的,所有此转载 2022-07-08 15:20:15 · 840 阅读 · 0 评论 -
scala中的classOf、isInstanceOf、asInstanceOf
classOf[T]获取类型T的Class对象。classOf方法定义在scala.Predef object:object Predef extends LowPriorityImplicits { /** Return the runtime representation of a class type. This is a stub method. * The actual implementation is filled in by the compile原创 2021-10-14 16:39:56 · 1032 阅读 · 1 评论