【大数据】Scala
【大数据】Scala
北京小辉
余辉,硕士毕业于中科院,从事IT行业12年。专注于大数据、云数据、用户画像、推荐算法。在数据团队担任过的角色:研发、架构师、负责人、讲师。数据知识产权:出版大数据书籍【1】本,论文【2】篇,软著【6】篇,专利【65】篇。
展开
-
classOf[T]、getClass和 class
目录一、classOf[T]、getClass和 class案例二、关于协变和逆变三、总结:一、classOf[T]、getClass和 class案例上面显示了两者的不同之处,getClass 方法得到的是 Class[A]的某个子类,而 classOf[A] 得到是正确的 Class[A],但是去比较的话,这两个类型是equals为true的。这里有细微的差别,体现在类型赋...原创 2019-12-20 18:18:51 · 905 阅读 · 0 评论 -
scala 数据类型体系一览图
在 scala 中有一个根类型 Any ,他是所有类的父类.scala中一切皆为对象,分为两大类AnyVal(值类型),AnyRef(引用类型),他们都是Any子类.Null 类型是 scalaNull 类型是 scala的特别类型,它只有一个值 null, 他是 bottom calss ,是 所有 AnyRef 类型的子 类.Nothing类型也是bottomclass,他是所有类的子...原创 2019-12-20 11:25:22 · 534 阅读 · 0 评论 -
通过Scala Process执行Shell脚本且收集返回的结果
需求:通过Scala Process执行Shell脚本且收集返回的结果package toolsimport java.util.concurrent.LinkedBlockingQueueimport scala.sys.process.{Process, ProcessBuilder, ProcessLogger}/** * * 收集Linux脚本命令返回的结果 */...原创 2018-06-11 16:23:31 · 3049 阅读 · 0 评论 -
Scala:小工具
随机生成10之内的整数数据package object hbaseuser { def main(args: Array[String]) { var i = 0 for( i <- i to 10){ println((math.random*100).round.toInt) } }}保留两位小数package com.yh.hbaseusers原创 2016-06-29 16:45:52 · 696 阅读 · 0 评论 -
Scala:使用 for-yield 表达式打印乘法表
在《Programming in Scala》中作者说,“Scala 中的 for 表达式对于迭代就像一把瑞士军刀”。可见,for 表达式的使用在 Scala 中出于多么重要的位置。我们可以使用for 表达式来简洁地完成迭代枚举的功能。与 Java 等不同的是,Scala 中有个生成器(generator)的概念,它的语法是 1 to 10 或者 1 until 10 ,前者代表从 1 到 10 进原创 2016-10-10 15:14:24 · 855 阅读 · 0 评论 -
面试题--scala全排序过滤字段
目录1、需求2、代码3、结果展示————————————————————————————-1、需求求 1 to 5 的全排序, 2不能在第一位, 3,4不能在一起2、代码import util.control.Breaks._/** * Created by Administrator on 2017/9/22 0022. * * 1 to 5 的全排序 * 2不能在第一位 *原创 2017-09-22 17:21:05 · 2173 阅读 · 0 评论 -
Scala的安装
安装软件 安装路径 设置变量环境 安装路径 验证原创 2017-03-15 16:51:27 · 615 阅读 · 2 评论 -
Scala:日期和时间
package com.yh.hbaseusersimport java.time.LocalDate/** * Created by silentwolf on 2016/6/30. */object fileTest { def main(args: Array[String]) { var nowdate = LocalDate.now() println原创 2016-06-30 17:28:01 · 9369 阅读 · 1 评论 -
Scala伴生类Class和伴生对象Object的区别
1、scala没有静态方法或者静态字段2、伴生对象充当于静态方法的类,所以伴生对象中全是静态的3、var 是可变参数 , val是不可变参数package com.donews.objectBean/** * Created by yuhui on 2016/6/15. * * 注意要点: * 1、scala没有静态方法或者静态字段 * 2、伴生对象充原创 2016-06-15 17:14:17 · 5906 阅读 · 1 评论 -
Scala:建立对象
package com.donews.objectBean/** * Created by yuhui on 2016/6/15. * * 注意要点: * 1、属性字段必须初始化 * 2、get和set方法默认有,不需要写 * 3、没有无参构造函数,只有有参构造函数 * 4、没有静态代码块,只有代码块 * 5、每次new一个对象时候,代码块只执行一次 */原创 2016-06-15 11:35:50 · 1116 阅读 · 3 评论 -
Scala常见错误
1、在idea中 使用 scala version 2.9.3,报错Error:object scala.reflect.ClassManifest not found....升级scala version 到 2.11.0后, 解决。新版本 scala 的 lib 中多了一个 scala-reflect.jar.具体原因不明2、编写原创 2016-05-23 22:51:24 · 1894 阅读 · 0 评论 -
Scala正则使用
package main.scalaimport com.alibaba.fastjson.{JSON, JSONObject}import scala.util.matching.Regex/** * Created by silentwolf on 2016/5/23. */object dataTest { def main(args: Array[String])原创 2016-05-23 19:47:07 · 531 阅读 · 0 评论 -
Scala极速入门
快速学习 http://www.yiibai.com/scala/scala_environment_setup.html定义Scala语言是一种面向对象语言,同时又结合了命令式(imperative)和函数式(functional)编程风格。官网描述:Object-Oriented Meets Functional(面向对象遇到函数式编程)。安装下载地址h原创 2016-05-02 17:06:46 · 815 阅读 · 0 评论 -
Scala下划线“_”的用法
第一:初始化的时候。object Sample { var name: String = _ def main(args: Array[String]) { name = "hello world" println(name) }}在这里,name也可以声明为null,例:var name:String=null。这里的下划线和null的作用是一样的。第二:引入的时候。i原创 2016-04-17 17:28:12 · 2202 阅读 · 0 评论