scala
archer.wu
当你的才华还撑不起你的野心的时候,就应该静下心来学习;当你的能力还驾驭不了你的目标时,就应该沉下心来,历练;梦想,不是浮躁,而是沉淀和积累,只有拼出来的美丽,没有等出来的辉煌,机会永远是留给最渴望的那个人,学会与内心深处的你对话,问问自己,想要怎样的人生,静心学习,耐心沉淀,送给自己,共勉。
展开
-
scala 学习(一)——for循环
scala 学习(一)——for循环scala中主要有两种循环,一个是while循环,一个是for循环,比较简单,直接上代码:for( i <- 1 to 3 ; j <- 1 to 3){ println("i " + i + " j " + j)} println("=============");for( i <- 1 to 3 ; j <- 1 to 3 if原创 2016-12-22 21:15:13 · 465 阅读 · 0 评论 -
spark运行简单的demo程序
spark运行简单的demo程序使用spark可以直接在命令行中启动spark-shell,然后在spark-shell中使用scala进行数据的处理。现在要介绍的是使用ide进行处理程序的编写。前提:1、已经安装好spark能够运行起来。2、了解基本的scala语法好,下面上货。1、首先用maven创建一个简单的quickstart程序2、在app目录下创建创原创 2017-01-04 17:30:24 · 12719 阅读 · 0 评论 -
scala 学习(十六)——闭包和柯里化
scala 学习(十六)——闭包和柯里化下面是闭包和柯里化的例子程序://变量不在作用域时函数仍然可以调用object main{ def main(args:Array[String]){ //闭包 def mulby(factor:Double) = (x:Double) => x * factor var a = mulby(原创 2016-12-28 15:19:33 · 1491 阅读 · 0 评论 -
sacala 学习(十七)——操作符
sacala 学习(十七)——操作符集合操作符 ++ -- | & &~ Array在头部和尾部添加:原创 2016-12-28 15:56:57 · 799 阅读 · 0 评论 -
scala学习(十八)——高阶函数
scala学习(十八)——高阶函数下面是scala中高阶函数的例子,注释中说的很清楚:import scala.math._object main{ def main(args:Array[String]){ //apply和unapply var x = Array("1","2","3") var y = Array.unapp原创 2016-12-28 16:14:09 · 362 阅读 · 0 评论 -
scala 学习(十八)——match
scala 学习(十八)——match下面是match的使用,非常类似java中的switch,但是不同的是case中不会同时执行,只能执行一个,如果已经符合前面的条件则不能继续执行后面的。var ch = 'a'ch match{ case 'a'=> println("this is a") case 'b'=> println("this is b") case _=>原创 2016-12-28 22:40:22 · 388 阅读 · 0 评论 -
spark——pairRDD的简单操作(一)
spark——pairRDD的简单操作最近在学习pairRDD的时候发现,如果在程序中通过scala编写的程序,打成jar包之后,再运行总是报错,查了很多资料,还是没有解决,正常的RDD能够使用,但是不能使用map函数,一旦使用map函数的时候就会报错。所以,在进行学习pairRDD的时候还是使用的spark-shell的方式。好,下面上货,首先是书中(《OReilly Learnin原创 2017-01-06 09:30:42 · 3007 阅读 · 0 评论 -
spark——pairRDD的简单操作(二)
spark——pairRDD的简单操作(二)下面介绍两个pariRDD之间的操作:首先看书中的截图:下面是我上述例子的程序:val a = sc.parallelize(Array((1,2),(3,4),(3,6)))a.collect().foreach(x => print(x + " "))println(" ")val b = sc.parallel原创 2017-01-06 09:48:48 · 1138 阅读 · 0 评论 -
spark pairRDD基本操作(三)——附带wordcount程序
spark pairRDD基本操作(三)——附带wordcount程序由于pairRDD也是RDD,或者说是RDD的子类,所以pairRDD也有RDD的功能,下面是一个综合的例子,首先使用了filtermap,然后是一个简单的mapreduce程序,最后是一个简单的wordcount小程序。本文主要参考书籍《O Reilly Learning spark》好,下面上货。val a原创 2017-01-06 11:50:07 · 1244 阅读 · 0 评论 -
spark 存储json数据遇到问题——json4s使用(一)
spark 存储json数据遇到问题——json4s使用(一)在进行spark的学习过程中遇到了这样的问题。1、《O'REILLY Learning Spark》的书中说道能够使用spark进行json 的读写,但是给出的例子使用的json转换的jar包是jackson的,还需要再次进行引入。2、能不能找到一个spark内部已经有的基于scala的json处理的jar包。在原创 2017-01-07 11:30:24 · 21289 阅读 · 2 评论 -
spark 存储json数据遇到问题——json4s使用(二)
spark 存储json数据遇到问题——json4s使用(二)接续上一篇文章,现在介绍一下使用json4s进行json转换成对象的方法。好,下面上货:import org.json4s._import org.json4s.JsonDSL._import org.json4s.jackson.JsonMethods._import org.json4s.jackson.Seria原创 2017-01-07 11:39:39 · 4270 阅读 · 0 评论 -
spark 读取json文件并分析
spark 读取json文件并分析本文主要介绍如何通过读取json文件到spark中然后进行分析。本文阅读前提:1、能够正常的跑起来spark2、有一定的scala语言知识3、了解json4s的基本功能和用法(http://blog.csdn.net/wild46cat/article/details/54171973和http://blog.csdn.net/wild46ca原创 2017-01-07 15:39:56 · 22583 阅读 · 3 评论 -
spark生成json文件
spark生成json文件接上一篇文章:http://blog.csdn.net/wild46cat/article/details/54174695上一篇文章讲述了如何读取一个json文件,并且转换成对象。本篇文章介绍如何生成json文件。下面是代码:import org.json4s._import org.json4s.JsonDSL._import org.json4s原创 2017-01-08 21:59:08 · 7507 阅读 · 2 评论 -
scala学习(十五)——trait运行时装配
scala学习(十五)——trait运行时装配能够在运行是装配类使用那个trait,有点类似类在执行期间根据不同的接口执行不同的操作。下面是一个例子://带有特质的对象,能够在运行的时候自动的进行装配trait Logger{ def log(msg:String){ }}class Dog extends Logger{ def run = {原创 2016-12-27 17:29:59 · 320 阅读 · 0 评论 -
scala学习(十五)——trait
scala学习(十五)——trait下面是一个trait的简单例子,里面包含的trait的基本用法,trait的继承:trait Logger{ //这里在java的接口中只能声明为静态的,在trait中能够声明成var,而不必须声明成val,trait可以简单的认为是抽象类和接口 var name = "tom" def log(msg:String) d原创 2016-12-27 17:16:15 · 538 阅读 · 0 评论 -
scala 学习(二)——for循环break
scala 学习(二)——for循环break在java中for循环中有break和continue这两个关键字,用来对循环进行控制。在scala中如果想得到类似break的效果,首先需要引入相应的包,然后再for循环的外面用breakable套上。下面是代码:import scala.util.control.Breaks._breakable{ for(i <- 1 to 1原创 2016-12-22 21:20:48 · 530 阅读 · 0 评论 -
scala 学习(三)——Array和ArrayBuffer
scala 学习(三)——Array和ArrayBuffer首先需要注意的是Array是定长数组,而ArrayBuffer是可变数组。下面是一个小例子,对数据进行便利和修改的操作。//定长数组Arrayval nums = new Array[Int](10)val array1 = Array(1 to 10: _*);val strarray = Array("aa","bb"原创 2016-12-22 21:28:12 · 10055 阅读 · 0 评论 -
scala 学习(四)——map使用
scala 学习(四)——map使用下面看一下scala中map的使用://这是不可变的val map = Map("001"->"tom","002"->"jack","003"->"lili")println(map)println(map("001"))println("==========") //可变的val map2 = sca原创 2016-12-22 21:35:21 · 358 阅读 · 0 评论 -
scala 学习(五)——def和procedure的区别和使用
scala 学习(五)——def和procedure的区别和使用在scala中能够定义函数。定义的函数可以有返回值,也可以没有返回值。没有返回值的叫做过程,有返回值的叫做函数。在语法上的区别是是否有等号。下面看一个例子:def xytest(n:Int) = { println("xytest --->" + n) n }def xyadd(x : Int, y原创 2016-12-22 21:40:19 · 1104 阅读 · 0 评论 -
scala 学习(六)——使用filter创建数组
scala 学习(六)——使用filter创建数组使用filter能够对数组进行过滤操作,过滤后能够使用map函数对过滤后的数组操作产生新的数组。下面看一下例子:val a = Array(1 to 10: _*);for( i <- a){ println(i);}println("==========")//利用yield返回数组var b = for(i <-原创 2016-12-22 21:46:43 · 2537 阅读 · 0 评论 -
scala 学习(七)——参数传递
scala 学习(七)——参数传递在使用def定义方法后,一般都需要传递一个参数。下面看一下如何传递参数:def sum(args:Int*)={ var r = 0; for( i <- args){ r += i } println(r) r }var c = sum(1,2,3,4,5)var b = sum(原创 2016-12-22 21:51:09 · 1162 阅读 · 0 评论 -
scala 学习(九)——元组和咬合操作
scala 学习(九)——元组和咬合操作首先,看一下元组的定义(元组中的元素类型可以不同),然后是两个List咬合成map的过程。var t = (1,"bbb",12)//可以通过_1 _2 这种方式访问元组t._1t._2t._3//zip咬合操作var list1 = List("001","002","003")var list2 = List("aa","bb"原创 2016-12-22 21:59:57 · 440 阅读 · 0 评论 -
scala 学习(十)——类的基本使用
scala 学习(十)——类的基本使用下面介绍一下scala中类的时候用:先看一下代码:import scala.beans.BeanPropertyclass Counter{ //scala 必须初始化 private var value = 0 //value 的set函数 def setValue(a:Int) ={ va原创 2016-12-25 22:29:07 · 410 阅读 · 0 评论 -
scala 学习(十一)——伴生对象
scala 学习(十一)——伴生对象本篇介绍一下伴生对象。首先说一下最常见的伴生对象,就是我们的main函数:object main{def main(strs:Array[String]){//...}}一般的,伴生对象会在编译后编译成一个静态的类,其中的方法也会被编译为静态方法。下面是一个例子:import scala.beans.BeanP原创 2016-12-26 23:46:35 · 392 阅读 · 0 评论 -
scala 学习(十二)——继承
scala 学习(十二)——继承下面是scala中继承的使用。//抽象类abstract class Animal{ def cry def run() = { println("----------") }}//有cry抽象方法的实现class Dog extends Animal{ def cry = {原创 2016-12-27 00:22:42 · 309 阅读 · 0 评论 -
scala学习(十三)——带有主构造的继承
scala学习(十三)——带有主构造的继承上一篇文章写的是scala中的继承,使用的是正常的默认构造或者是辅助构造。现在介绍一下如果父类有主构造函数,那么子类应该如何进行继承。//使用主构造的时候必须引入scala.reflect._ 的包 如果版本比较新也可能使用import scala.beans.BeanProperty包import scala.reflect._class A原创 2016-12-27 15:30:43 · 482 阅读 · 0 评论 -
scala学习(十四)——匿名内部类
scala学习(十四)——匿名内部类下面是一个匿名内部类的例子://匿名内部类class Person(val name : String){ }class APerson(){ def meet(p:Person{def greeting:String}){ println(p.greeting) }}object main{原创 2016-12-27 16:50:43 · 2093 阅读 · 0 评论 -
spark读取csv文件——scala
spark读取csv文件——scala下面介绍如何通过scala读取csv文件读取的过程是首先按照普通额文本文件进行读取,然后通过opencsv的jar包进行转换,通过对每行进行读取,生成string数组。好,下面上货。import java.io.StringReaderimport au.com.bytecode.opencsv.CSVReaderobject CC{原创 2017-01-08 23:00:09 · 19902 阅读 · 0 评论