12 2017 档案
摘要:一:SparkContext原理 千言万语不抵一张图啊!(看不懂也别急,把下面的源码看完后再回过来看这张图你就懂了) 1-1 1-1 1-1 二:SparkContext源码剖析 SparkContext最重要的功能就是创建了TaskScheduler、DAGSchedule和SparkUI(404
阅读全文
摘要:千言万语不如一张图! Spark应用运行原理图 Spark应用运行原理图 Spark应用运行原理图 流程梳理 注意:这是总体架构概括,后面的博文将对其中的各个组件和功能进行深度剖析!
阅读全文
摘要:由于近期准备深入研究一下Spark的核心源码,所以开了这一系列用来记录自己研究spark源码的过程! 想要读源码,那么第一步肯定导入spark源码啦(笔者使用的是IntelliJ IDEA),在网上找了一圈,尝试了好几种方法都没有成功,最终通过自己摸索出了一种非常简单的方式(只需要两步即可!) 环境
阅读全文
摘要:引言Scala中类型参数是什么呢?其实就类似于Java中的泛型。定义一种类型参数,比如在集合、类、函数中定义类型参数,然后就可以保证使用到该类型参数的地方就只能是这种类型,从而实现程序更好的健壮性。 引言 Scala中类型参数是什么呢?其实就类似于Java中的泛型。定义一种类型参数,比如在集合、类、
阅读全文
摘要:引言Scala提供的隐式转换和隐式参数功能,是非常有特色的功能。是Java等编程语言所没有的功能。它可以允许你手动指定,将某种类型的对象转换成其他类型的对象。通过这些功能可以实现非常强大而且特殊的功能。Scala的隐式转换,其实最核心的就是定义隐式转换函数,即implicit conversion
阅读全文
摘要:windows下载安装完最新版本的Scala(2.12.4)后,终端如下错误 C:\Users\Administrator>scala -versionException in thread "main" java.lang.VerifyError: Uninitialized object exi
阅读全文
摘要:引言模式匹配是Scala中非常有特色,非常强大的一种功能。类似于Java中的switch case语法,但是模式匹配的功能要比它强大得多,switch只能对值进行匹配,但是Scala的模式匹配除了可以对值进行匹配之外,还可以对类型进行匹配、对Array和List的元素情况进行匹配、对case cla
阅读全文
摘要:1. Scala的集合体系结构Scala中的集合体系主要包括(结构跟Java相似):Iterable(所有集合trait的根trait)Seq(Range、ArrayBuffer、List等)Set(HashSet、LinkedHashSet、SortedSet等)Map (HashMap、Sort
阅读全文
摘要:引言Scala是一门既面向对象,又面向过程的语言,Scala的函数式编程,就是Scala面向过程最好的佐证。也真是因此让Scala具备了Java所不具备的更强大的功能和特性。而之所以Scala一直没有替代Java,一是因为Java诞生早,基于Java开发了大量知名的工程,并且最重要的是Java现在不
阅读全文
摘要:本人最近爱上了使用markdown写文章,用的是马克飞象编辑器(适合深度印象笔记患者),但是在将markdown文本复制到博客园的markdown编辑器中时,显示出来的效果差强人意,而且博客园还不支持markdown预览功能,修改起来痛苦得要死。 于是乎另寻对策,通过笔者的一系列尝试发现可以直接将m
阅读全文
摘要:基础知识 基础知识 1 将trait作为接口使用此时Trait就与Java中的接口非常类似,不过注意,在Scala中无论继承还是trait,统一都是extends关键字。Scala跟Java 8前一样不支持对类进行多继承,但是支持多重继承trait,使用with关键字即可 1 将trait作为接口使
阅读全文
摘要:题目描述Given two integers representing the numerator and denominator of a fraction, return the fraction in string format.If the fractional part is repeat
阅读全文
摘要:extends与Java一样,也是使用extends关键字,使用继承可以有效复用代码 extends 与Java一样,也是使用extends关键字,使用继承可以有效复用代码 class Person { private var name = "leo" def getName = name } cl
阅读全文
摘要:现阶段大数据如火如荼,很多人想要学习大数据,但是却不了解大数据,也不知道该从哪开始学起的同学,希望这篇文章能够帮到你们。 现阶段大数据如火如荼,很多人想要学习大数据,但是却不了解大数据,也不知道该从哪开始学起的同学,希望这篇文章能够帮到你们。 1. Linux基础和JavaSE基础【包含mysql】
阅读全文
摘要:objectobject相当于class的单个实例,类似于Java中的static,通常在里面放一些静态的field和method。 第一次调用object中的方法时,会执行object的constructor,也就是object内部不在method或者代码块中的所有代码,但是object不能定义接
阅读全文
摘要:定义类 定义类 // 定义类,包含field以及method class HelloWorld { private var name = "Leo" def sayHello() { println("Hello" + name)} def getName = name } defined clas
阅读全文
摘要:Map创建Map Map // 创建一个不可变的Map scala> val ages = Map("Leo" -> 30, "Sparks" -> 25) ages: scala.collection.immutable.Map[String,Int] = Map(Leo -> 30, Spark
阅读全文
摘要:Array 与Java的Array类似,也是长度不可变的数组,此外,由于Scala与Java都是运行在JVM中,双方可以互相调用,因此Scala数组的底层实际上是Java数组。 注意:访问数组中元素使用()而不是Java中的 [] 可以直接使用Array()创建数组,元素类型自动推断(
阅读全文
摘要:条件控制与循环 if表达式 定义:if表达式是有值的,就是if或者else中最后一行语句返回的值。 例如:val isAdult = if (age 18) 1 else 0 类型推断:由于if表达式是有值的,而if和else子句的值类型可能不同,此时if表达式是什么类型呢?Scala
阅读全文
摘要:Scala基础语法 Scala与JAVA的关系 Scala是基于Java虚拟机,也就是JVM的一门编程语言,所有Scala的代码都需要经过编译为字节码,然后交由Java虚拟机来运行。 所以Scala和JAVA是可以无缝互操作的,Scala可以任意调用Java的代码,这两种语言的关系事非常紧密的。 &
阅读全文