
Scala
三岁会演戏
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
scala对象及循环语句(一)
Scala 1、Scala object相当于java中的单例,object中定义的全是静态,相当于Java里的工具类,object不可以传参,对象要传参要有apply方法,apply方法可定义多个 2、Scala中变量使用var,常量使用val,常量不可变,变量可变 3、Scala中每行后面有分号推断机制,不用显示写出 4、建议在Scala中命名使用驼峰命名法 5、Scala类中可以传参,传参一...原创 2019-04-18 20:09:29 · 369 阅读 · 0 评论 -
Scala方法与函数(二)
1、方法定义 1)方法体中最后返回值可以使用return,如果使用了return,那么方法体的返回值类型一定要指定 2)如果方法体中没有return,默认将方法体最后一行计算的结果当作返回值返回,方法体的返回值类型可以省略,会自动推断 3)定义方法传入的参数一定要指定类型 4)方法体中如果可以一行搞定,括号可省略 5)如果定义方法时,省略了方法名称和方法体之间的“=”,那么无论方法体最后一行计算的...原创 2019-04-18 20:24:33 · 169 阅读 · 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 · 130 阅读 · 0 评论 -
Scala集合类(四)
import scala.collection.mutable 可变集合包 import scala.collection.immutable 不可变集合包,默认不可变 1、可变list val list2 = ListBuffer[Int](1,2,3) list2.append(4,5,6) list2.foreach(println) 2、不可变list ...原创 2019-04-18 20:36:31 · 154 阅读 · 0 评论 -
Scala Trait+Match+PartialFunction+CaseClass(五)
1、Trait 一个类继承trait时,第一个关键字使用extends,之后使用with trait 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 · 188 阅读 · 0 评论 -
UDAF+UDF
1、UDAF /** *UserDefinedAggregateFunction 用户自定义聚合函数 抽象类 */ class MyUDAF extends UserDefinedAggregateFunction { //输入数据的类型 def inputSchema: StructType = { DataTypes.createStructType(Array(Da...原创 2019-05-18 21:52:32 · 276 阅读 · 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 · 573 阅读 · 0 评论 -
Spark之常用Action算子
1、collect collect 回收算子,会将结果回收到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 · 1229 阅读 · 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 · 918 阅读 · 0 评论