
Scala
cindysz110
望尘莫及,日积月累。
展开
-
[Scala] Scala 学习笔记 (1) - 基本语法
1. 什么是ScalaScala是一门多范式的编程语言,其设计的初衷是要集成面向对象编程和函数式编程的各种特性,Scala运行于Java平台(Java虚拟机),并兼容现有的Java程序。2. 为什么要学Scala1) 优雅:这是框架设计师第一个要考虑的问题,框架的用户是应用开发程序员,API是否优雅直接影响用户体验;2) 速度快:Scala语言表达能力强,一行代码抵得上Java多行...原创 2018-07-09 19:47:03 · 340 阅读 · 0 评论 -
[Scala] Scala 学习笔记 (11) - 隐式转换
隐式转换隐式转换在工作中,能不用就不用,读代码难度很大,不利于team work。 场景:已有一个类,要基于这个类添加一个方法。Java的实现思路:如果要添加的方法很少,用继承或者装饰可以完成。如果要添加的方法很多,最好的方法是使用代理。其中代理又分静态代理和动态代理:静态代理:持有动态代理:JDK,代理的是一个接口; CGLIB: 是一个类Scala的实现思路...原创 2018-07-26 11:08:58 · 308 阅读 · 0 评论 -
[Scala] Scala 学习笔记 (10) - 面向对象 (待补充)
Scala面向对象1. 类 class类的定义// 定义一个类class People { // 定义属性// var name:String = "" var name:String = _ // name这里也可以直接使用占位符占位 val age = 10 private[this] val gender = "M" // gender是类Peo...原创 2018-07-25 15:02:34 · 242 阅读 · 0 评论 -
[Scala] Scala 学习笔记 (9) - 入参的颗粒化
颗粒化:Currying。将原来函数的2个入参拆开,分别写在两个括号里面。 /** * * currying 颗粒化 * 将原来函数的2个入参拆开 * 这种做法在Spark SQL UDF里面常用 */ def sum(a:Int, b:Int) = a + b def sum2(a:Int)(b:Int) = a + b println...原创 2018-07-25 14:03:42 · 507 阅读 · 0 评论 -
[Spark] 使用IDEA构建Spark应用程序
环境:本地:win7 + jdk1.8 + IntelliJ IDEA 2018.1.2 + maven-3.3.9 + scala插件,机器要求可以联网(需要下载各种依赖包)远程:CentOS7.3 + jdk1.8 + scala-2.11.12 + hadoop-2.6.0-cdh5.7.0 + hive-1.1.0-cdh5.7.0-bin + spark-2.2.0-bin-2....原创 2018-07-13 16:21:00 · 3052 阅读 · 0 评论 -
[Scala] Scala 学习笔记 (8) - 字符串插值
字符串定义定义单行字符串 val s = "Hello Scala"定义多行的字符串 // 多行:按住shift,敲三下双引号"""""" val s1 = """ |hello world |hello scala |hello spark """.stripMargin字符串插值(变原创 2018-07-25 00:03:07 · 229 阅读 · 0 评论 -
[Scala] Scala 学习笔记 (6) - 模式匹配
Scala模式匹配模式匹配在工作中比较少用到,典型的场景就是异常捕获和偏函数。1. 模式匹配模式匹配规范: 变量 match { case 值 => 代码 case 值 => 代码 case - => 代码 }模式匹配函数 import scala.util.Random val ...原创 2018-07-24 23:55:11 · 233 阅读 · 0 评论 -
[Scala] Scala 学习笔记 (7) - 异常处理
Scala异常处理Scala异常处理: try { 语句 } catch { case e: ArithmeticException => println(e.getMessage) case e: FileNotFoundException => println(e.getMessage) ca...原创 2018-07-24 23:57:00 · 357 阅读 · 0 评论 -
[Scala] Scala 学习笔记 (5) - 文件操作 (待补充)
文件操作 文件操作 入参的颗粒化:将原来函数的2个入参拆开 => def sum(a:Int, b:Int) = a + b ==> def sum2(a:Int)(b:Int) = a + b 文件读取 Source.fromFile("test.txt")(Codec.UTF8) Source.fromURL("http:...原创 2018-07-24 23:44:14 · 209 阅读 · 0 评论 -
[Scala] Scala 学习笔记 (4) - 高阶函数 (待补充)
高阶函数 高阶函数 map:对集合中的每一个元素都做一个操作 foreach:循环遍历集合 filter:过滤结果集 take:取集合里面的元素 reduce:两两相邻的元素做某一个操作 reduce/reduceLeft/reduceRight: 两两相邻的元素做某一个操作 fold/foldLeft/foldRi...原创 2018-07-24 23:39:00 · 215 阅读 · 0 评论 -
[Scala] Scala 学习笔记 (3) - 集合 (待补充)
Scala集合集合要掌握的基本内容:集合创建 集合赋值 集合取值1. Array 数组定长数组:Array // 数组定义 val a = new Array[String](5) // 数组定义并赋值 val a1 = Array("aaa","bbb","ccc") // 这种定义方法必然是调用了object中的apply方法,在appl...原创 2018-07-24 23:13:07 · 238 阅读 · 0 评论 -
[Scala] Scala 学习笔记 (2) - 函数
Scala函数 1. 定义函数格式:定义 函数名(参数列表):返回值 = {函数体}def func(x:Int, y:Int, ...) : 返回值 = { ... xxxx // 最后一行默认为返回值 }标准函数:有入参、出参、有返回值 def add(x:Int, y:Int):Int = { x...原创 2018-07-24 19:12:03 · 207 阅读 · 0 评论 -
[Spark] 使用IDEA构建Spark应用程序
1. IDEA新建一个maven+scala的project点击Finish之后静待项目初始化完成2. 修改pom.xml配置文件2.1 修改<properties>标签 <properties> <scala.version>2.11.8</scala.version> # Scala默认版本为2.7.0,修改为2.11.8 ...原创 2018-07-12 14:35:17 · 492 阅读 · 0 评论 -
[Scala] IDEA + Maven + Scala + scalikejdbc 读写MySQL
1. 新建一个maven + scala 的 工程2. 导入依赖 <properties> <scala.version>2.11.8</scala.version> <scalikejdbc.version>2.5.2</scalikejdbc.version> <mysql.version&g...原创 2018-07-18 10:19:55 · 828 阅读 · 0 评论 -
[Scala] MAC 下安装scala及IntelliJ IDEA的scala插件
MAC OSX,已有IntelliJ IDEA 1. 安装scala官网下载scala安装包并解压Cindys-MacBook-Pro:Downloads gongli$ tar -zxvf scala-2.11.12.tgz -C /usr/local/share/Cindys-MacBook-Pro:~ gongli$ cd /usr/local/share/scala-2...原创 2018-07-11 19:48:01 · 5666 阅读 · 0 评论 -
[Spark] 使用IDEA构建Spark应用程序实例
环境:本地:win7 + jdk1.8 + IntelliJ IDEA 2018.1.2 + maven-3.3.9 + scala插件,机器要求可以联网(需要下载各种依赖包)远程:CentOS7.3 + jdk1.8 + scala-2.11.12 + hadoop-2.6.0-cdh5.7.0 + hive-1.1.0-cdh5.7.0-bin + spark-2.2.0-bin-2....原创 2018-07-16 18:35:54 · 698 阅读 · 0 评论 -
[Hadoop] IDEA隐藏INFO日志信息
Windows下面使用Intellij IDEA编程,打印的[INFO]信息很多。不想看太多INFO,可以提高日志级别为WARN或者ERROR。1. 在src/main下面新建resources文件夹,并在resources文件夹上面点右键 - Make Directory As - Resource Root2. 拷贝spark的conf目录下的log4j.properties文件到上面...原创 2018-09-07 13:43:15 · 1406 阅读 · 0 评论