Scala
股海孙悟空
wx 公众号 股海孙悟空
展开
-
Scala入门学习之【wordcount】
[plain] view plain copyval lines = List("hello tom hello jerry", "hello jerry", "hello kitty") println(lines.flatMap(_.split(" "))) //List(hello, tom, hello, jerry, hel原创 2017-11-02 17:12:53 · 224 阅读 · 0 评论 -
Sparkstreaming reduceByKeyAndWindow(_+_, _-_, Duration, Duration) 的源码/原理解析
最近在玩spark streaming, 感觉到了他的强大。 然后看 StreamingContext的源码去理解spark是怎么完成计算的。 大部分的源码比较容易看懂, 但是这个 reduceByKeyAndWindow(_+_, _-_, Duration, Duration) 还是花了不少时间。 主要还是由于对spark不熟悉造成的吧, 还好基本弄明白了。 总的来说SparkStrea...原创 2018-07-25 22:16:30 · 324 阅读 · 0 评论 -
Scala 技术笔记之 Option Some None
避免null使用大多数语言都有一个特殊的关键字或者对象来表示一个对象引用的是“无”,在Java,它是null。在Java 里,null 是一个关键字,不是一个对象,所以对它调用任何方法都是非法的。但是这对语言设计者来说是一件令人疑惑的选择。为什么要在程序员希望返回一个对象的时候返回一个关键字呢?Scala的Option类型为了让所有东西都是对象的目标更加一致,也为了遵循函数式编程的习惯...原创 2018-07-25 18:18:01 · 201 阅读 · 0 评论 -
SparkStreaming之窗口函数
WindowOperations(窗口操作) Spark还提供了窗口的计算,它允许你使用一个滑动窗口应用在数据变换中。下图说明了该滑动窗口。如图所示,每个时间窗口...原创 2018-07-19 10:08:21 · 3544 阅读 · 0 评论 -
Scala 程序运行中遇到的错误
网上有好多出现相同问题的,但是都没说解决办法,下面是自己遇到的一些问题。 后续遇到会继续补充 问题是在本机运行的 IDEA 里面遇到的。错误1Exception in thread "main" java.lang.NoClassDefFoundError: scala/Product$class at org.apache.spark.SparkConf$Deprecate...原创 2018-07-24 21:15:27 · 1420 阅读 · 0 评论 -
解决scalac Error: bad option -make:transitive
关闭idea打开项目所在位置并cd .idea修改scala_compiler.xml文件删除掉参数行包含-make:transitive保存后退出编辑并重启idea打开项目原创 2018-07-24 21:13:41 · 291 阅读 · 0 评论 -
浅谈Scala的Class、Object和Apply()方法
Scala中如果一个Class和一个Object同名,则称Class是Object的伴生类。Scala没有Java的Static修饰符,Object下的成员和方法都是静态的,类似于Java里面加了Static修饰符的成员和方法。Class和Object都可以定义自己的Apply()方法,类名()调用Object下的Apply()方法,变量名()调用Class下的Apply()方法。?1234567...原创 2018-06-12 11:43:31 · 746 阅读 · 0 评论 -
Scala学习笔记(一)编程基础
目录1. Scala概述1.1. 什么是Scala1.2. 为什么要学Scala2. Scala编译器安装2.1. 安装JDK2.2. 安装Scala3. Scala基础3.1. 声明变量3.2. 常用类型3.3. 条件表达式3.4. 块表达式3.5. 循环3.6. 调用方法和函数3.7. 定义方法和函数4. 数组、映射原创 2017-11-02 17:20:55 · 537 阅读 · 0 评论 -
scala中的reduceLeft,reduceRight,foldLeft,foldRight方法
scala中集合类iterator特质的化简和折叠方法 c.reduceLeft(op)这样的调用将op相继应用到元素,如: eg: val a = List(1,7,2,9) val a1 = a.reduceLeft(_ - _)// ((1-7) - 2) - 9 = -17 c.foldLeft(0)(_ * _)方法 val a2 ...原创 2018-07-25 23:35:38 · 475 阅读 · 0 评论