
Spark回炉篇
掉进悬崖的狼
世界上并没有完美的程序,
但我们并不因此而沮丧,
因为写程序本来就是一个不断追求完美的过程。
你可以不够优秀,但不要甘于平凡。
展开
-
Spark回炉重塑之函数式编程
引言Scala中的函数是Java中完全没有的概念。因为Java是完全面向对象的编程语言,没有任何面向过程编程语言的特性,因此Java中的一等公民是类和对象,而且只有方法的概念,即寄存和依赖于类和对象中的方法。Java中的方法是绝对不可能脱离类和对象独立存在的。而Scala是一门既面向对象,又面向过程的语言。因此在Scala中有非常好的面向对象的特性,可以使用Scala来基于面向对象的思想开发大...原创 2019-10-31 22:26:44 · 273 阅读 · 0 评论 -
Spark回炉重塑之面向对象编程之Trait(特征)
目录trait作为接口使用在Trait中定义具体方法在Trait中定义具体字段在Trait中定义抽象字段为实例混入traittrait调用链在trait中覆盖抽象方法混合使用trait的具体方法和抽象方法trait的构造机制trait field的初始化trait继承class小结trait作为接口使用Scala中的Tr...原创 2019-10-14 00:45:37 · 365 阅读 · 0 评论 -
Spark回炉重塑之面向对象编程之继承
目录extendsoverride和superoverride fieldisInstanceOf和asInstanceOfgetClass和classOf使用模式匹配进行类型判断protected调用父类的constructor匿名内部类抽象类抽象field小结extendsScala中,让子类继承父类,与Jav...原创 2019-10-06 22:11:22 · 214 阅读 · 0 评论 -
Spark回炉重塑之面向对象编程之对象(Object)
目录object 对象伴生对象让object继承抽象类apply方法main方法用object来实现枚举功能小结object 对象object,相当于class的单个实例,通常在里面放一些静态的field或者method第一次调用object的方法时,就会执行object的constructor,也就是object内部不在method中的代码;但是ob...原创 2019-10-05 16:59:46 · 625 阅读 · 0 评论 -
Spark回炉重塑之面向对象编程之类
目录定义一个简单的类getter与setter仅暴露field的getter方法private[this]的使用Java风格的getter和setter方法辅助constructor主constructor内部类小结定义一个简单的类// 定义类,包含field以及方法class HelloWorld { private var na...原创 2019-10-03 00:49:29 · 182 阅读 · 0 评论 -
Spark回炉重塑之Map与Tuple
目录创建Map访问Map的元素修改Map的元素遍历MapSortedMap和LinkedHashMapMap的元素类型—Tuple小结创建Map// 创建一个不可变的Mapval ages = Map("Leo" -> 30, "Jen" -> 25, "Jack" -> 23)ages("Leo") = 31// 创建一个可变的...原创 2019-09-26 00:20:11 · 701 阅读 · 0 评论 -
Spark回炉重塑之数组操作之Array、ArrayBuffer
目录ArrayArrayBuffer遍历Array和ArrayBuffer数组常见操作使用yield和函数式编程转换数组算法案例移除第一个负数之后的所有负数移除第一个负数之后的所有负数(改良版)yieldArray在Scala中,Array代表的含义与Java中类似,也是长度不可改变的数组。此外,由于Scala与Java都是运行在JVM中,双方可...原创 2019-09-24 00:28:32 · 2781 阅读 · 0 评论 -
Spark回炉重塑之Scala编程详解~函数入门
目录函数入门函数的定义与调用多行语句的函数体递归函数与返回类型默认参数Java与Scala实现默认参数的区别带名参数变长参数使用序列调用变长参数函数过程lazy值异常小结函数入门函数的定义与调用在Scala中定义函数时,需要定义函数的函数名、参数、函数体。我们的第一个函数如下所示:def sayHello...原创 2019-09-22 23:20:52 · 210 阅读 · 0 评论 -
Spark回炉重塑之Scala编程详解~条件控制与循环
目录if表达式语句终结符、块表达式输入和输出循环高级for循环小结if表达式·if表达式的定义:在Scala中,if表达式是有值的,就是if或者else中最后一行语句返回的值。 ·例如,val age = 30; if (age > 18) 1 else 0 ·可以将if表达式赋予一个变量,例如,val isAdult = if ...原创 2019-09-21 23:20:04 · 252 阅读 · 0 评论 -
Spark回炉重塑之Scala编程详解~基础语法
Scala编程详解~基础语法 目录Scala与Java的关系Scala解释器的使用REPL计算表达式内置变量自动补全声明变量数据类型与操作符函数调用与apply()函数Scala与Java的关系 Scala与Java的关系是非常紧密的!! 因为Scala是基于Java虚拟机,也就是JVM的一门编程语言。所有Scala...原创 2019-09-19 23:34:17 · 235 阅读 · 0 评论 -
Spark回炉篇之spark前世今生
Spark是什么? Spark,是一种通用的大数据计算框架,正如传统大数据技术Hadoop的MapReduce、Hive引擎,以及Storm流式实时计算引擎等。Spark包含了大数据领域常见的各种计算框架:比如Spark Core用于离线计算,Spark SQL用于交互式查询,Spark Streaming用于实时流式计算,Spark MLlib用于机器学习,Spark GraphX用于...原创 2019-09-18 23:56:10 · 275 阅读 · 0 评论