Scala
文章平均质量分 74
syc0616
这个作者很懒,什么都没留下…
展开
-
Scala一些
spark sql对seq(s1, s2, s3, …)值的包装,seq的每个元素si会被包装成一个Row如果si为一个简单值,则生成一个只包含一个value列的Row如果si为一个N-Tuple,则生成一个包含N列的Row特别的,如果N-Tuple是一元组,则视为非元组,即生成一个只包含一个value列的Rowscala> Seq(("bluejoe"),("alex")).toDF().show+-------+| value|+-------+|bluejoe|| ...原创 2021-07-16 21:51:40 · 295 阅读 · 0 评论 -
Scala一些
getOrElse()方法getOrElse()主要就是防范措施,如果有值,那就可以得到这个值,如果没有就会得到一个默认值,个人认为早开发过程中用getOrElse()方法要比用get()方法安全得多。原创 2021-06-01 15:49:11 · 103 阅读 · 0 评论 -
Scala集合
Scala集合Scala提供了一套很好的集合实现,提供了一些集合类型的抽象。Scala 集合分为可变的和不可变的集合。可变集合可以在适当的地方被更新或扩展。这意味着你可以修改,添加,移除一个集合的元素。而不可变集合类,相比之下,永远不会改变。不过,你仍然可以模拟添加,移除或更新操作。但是这些操作将在每一种情况下都返回一个新的集合,同时使原来的集合不发生改变。接下来我们将为大家介绍几种常用集合类型的应用:序号 集合及描述 1 Scala List(列表) List原创 2021-06-01 14:11:05 · 238 阅读 · 0 评论 -
scala中的()和{}的区别总结
scala中的()和{}大括号{}用于代码块,计算结果是代码最后一行;大括号{}用于拥有代码块的函数;大括号{}在只有一行代码时可以省略,除了case语句(Scala适用);小括号()在函数没有参数时可以省略(Scala适用);几乎没有二者都省略的情况。单个参数尽量用{},只有一行代码情况下可以用().两个及以上参数必须用()println(listRDD.mapPartitionsWithIndex( //两个参数,必须() (index, datas) => { ...原创 2021-05-31 17:34:08 · 662 阅读 · 0 评论 -
Scala学习
Scala程序结构1.Object是一个关键字,表示一个伴生对象;2.如该文件只出现了一个object HelloScala 就会在编译后两个 .class文件;3.第一个文件是HelloScala.class这个表示他的伴生类,但是空的;4.第二个文件是HelloScala$.class对应的是Object HelloScala,但是本质是调用但是本质调用它对应的一个静态 属性MODULE$5.这两个文件的关系和main函数object HelloScala {// 1. d.原创 2021-05-30 00:19:37 · 342 阅读 · 0 评论 -
Spark基础排序+二次排序
1.基础排序算法2.二次排序算法3.更高级别排序4.排序算法内幕1.基础排序算法sc.textFile("/data/putfile.txt").flatMap(_.split(" ")).map(word=>(word,1)).reduceByKey(_+_,1).map(pair=>(pair._2,pair._1)).sortByKey(false).map(pair=>(pair._2,pair._1)).collect//key value交换sc.se.原创 2021-04-25 21:06:34 · 1060 阅读 · 0 评论 -
Spark-SQL之DataFrame操作大全
Spark SQL中的DataFrame类似于一张关系型数据表。在关系型数据库中对单表或进行的查询操作,在DataFrame中都可以通过调用其API接口来实现。可以参考,Scala提供的DataFrame API。 本文中的代码基于Spark-1.6.2的文档实现。一、DataFrame对象的生成 Spark-SQL可以以其他RDD对象、parquet文件、json文件、hive表,以及通过JDBC连接到其他关系型数据库作为数据源来生成DataFrame对象。本文将以MySQL数据库为数原创 2021-04-21 21:13:36 · 590 阅读 · 0 评论 -
Scala之偏函数Partial Function
1.从使用case语句构造匿名函数在Scala里,我们可以使用case语句来创建一个匿名函数(函数字面量),这有别于一般的匿名函数创建方法。来看个例子:scala> List(1,2,3) map {case i:Int=>i+1}res1: List[Int] = List(2, 3, 4)这很有趣,case i:Int=>i+1构建的匿名函数等同于(i:Int)=>i+1,也就是下面这个样子:scala> List(1,2,3) map {(i:Int原创 2020-12-24 17:57:26 · 131 阅读 · 0 评论 -
Scala复习
1.staticscala物static关键字,由object实现类似静态方法的功能--> 类名.方法名object关键字和class关键字定义的方式相同,但作用不同:class关键字定义一个类,object声明一个单例对象;object生成:当前类,当前类$$这个是“伴生对象”;实现静态方法;可以直接调用;类似static。2.Scala无void而是Unit类;Unit类型、Null类型和Nothing类型基本说明 数据类型 描述原创 2020-11-20 22:50:51 · 179 阅读 · 0 评论 -
Scala中的“- >“和“ -“以及“=>“
<-只会出现在for循环里面->只会出现在k->v里面但是=>就较为复杂了,有四种用法1.表示函数的返回类型(Function Type)//定义函数 scala> def double(x: Int): Int = x*2double: (x: Int)Int//定义一个函数变量: scala> var x : (Int) => Int = doublex: Int => Int = <function1>原创 2020-09-29 16:31:07 · 189 阅读 · 0 评论 -
Scala 基础Option
Scala Option(选项)Scala Option(选项)类型用来表示一个值是可选的(有值或无值)。Option[T] 是一个类型为 T 的可选值的容器: 如果值存在, Option[T] 就是一个 Some[T] ,如果不存在, Option[T] 就是对象 None 。接下来我们来看一段代码:// 虽然 Scala 可以不定义变量的类型,不过为了清楚些,我还是// 把他显示的定义上了valmyMap:Map[String, String]=Map("key1"-&...原创 2020-09-29 16:27:48 · 380 阅读 · 0 评论