![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Scala
三岁会演戏
这个作者很懒,什么都没留下…
展开
-
scala对象及循环语句(一)
Scala1、Scala object相当于java中的单例,object中定义的全是静态,相当于Java里的工具类,object不可以传参,对象要传参要有apply方法,apply方法可定义多个2、Scala中变量使用var,常量使用val,常量不可变,变量可变3、Scala中每行后面有分号推断机制,不用显示写出4、建议在Scala中命名使用驼峰命名法5、Scala类中可以传参,传参一...原创 2019-04-18 20:09:29 · 324 阅读 · 0 评论 -
Scala方法与函数(二)
1、方法定义1)方法体中最后返回值可以使用return,如果使用了return,那么方法体的返回值类型一定要指定2)如果方法体中没有return,默认将方法体最后一行计算的结果当作返回值返回,方法体的返回值类型可以省略,会自动推断3)定义方法传入的参数一定要指定类型4)方法体中如果可以一行搞定,括号可省略5)如果定义方法时,省略了方法名称和方法体之间的“=”,那么无论方法体最后一行计算的...原创 2019-04-18 20:24:33 · 140 阅读 · 0 评论 -
Sacla字符串与数组(三)
1、字符串String类 def main(args: Array[String]): Unit = { val s = "bjsxt" val s1 = "BJSXT" println(s.indexOf(98))// println(s.equals(s1))// println(s.equalsIgnoreCase(s1))//忽略大小写 }...原创 2019-04-18 20:29:20 · 98 阅读 · 0 评论 -
Scala集合类(四)
import scala.collection.mutable 可变集合包import scala.collection.immutable 不可变集合包,默认不可变1、可变listval list2 = ListBuffer[Int](1,2,3) list2.append(4,5,6) list2.foreach(println)2、不可变list ...原创 2019-04-18 20:36:31 · 127 阅读 · 0 评论 -
Scala Trait+Match+PartialFunction+CaseClass(五)
1、Trait一个类继承trait时,第一个关键字使用extends,之后使用withtrait Read{ def read(name:String) { println(s"$name is reading.....") }} trait Listen { def listen(name: String) { println(s"$name is ...原创 2019-04-18 20:46:23 · 158 阅读 · 0 评论 -
UDAF+UDF
1、UDAF/** *UserDefinedAggregateFunction 用户自定义聚合函数 抽象类 */class MyUDAF extends UserDefinedAggregateFunction { //输入数据的类型 def inputSchema: StructType = { DataTypes.createStructType(Array(Da...原创 2019-05-18 21:52:32 · 240 阅读 · 0 评论 -
spark之缓存
1、cache()和persist()cache()和persist()注意问题:1.cache()和persist()持久化单位是partition,cache()和persist()是懒执行算子,需要action算子触发执行。2.对一个RDD使用cache或者persist之后可以赋值给一个变量,下次直接使用这个变量就是使用的持久化的数据。也可以直接对RDD进行cache或者persi...原创 2019-05-18 22:07:26 · 512 阅读 · 0 评论 -
Spark之常用Action算子
1、collectcollect 回收算子,会将结果回收到Driver端,如果结果比较大,就不要回收,这样的话会造成Driver端的OOM。 def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("foreach").setMaster("local") val sc = ne...原创 2019-05-18 21:05:57 · 1190 阅读 · 0 评论 -
Spark之transformation算子
1、combineByKey首先给RDD中每个分区中的每个key一个初始值 其次在RDD每个分区内部 相同的key聚合一次再次在RDD不同的分区之间将相同的key结果聚合一次def main(args: Array[String]): Unit = { val conf = new SparkConf().setMaster("local").setAppName("comb...原创 2019-05-18 21:42:00 · 853 阅读 · 0 评论