![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Scala
威尼斯的星期天
Console.log('♚')
展开
-
Flink1.11.2-scala 2.12.12 & No implicits found for parameter evidence$12
原因当前环境之下找到不到scala的包解决办法引入包import org.apache.flink.api.scala._原创 2020-10-22 12:56:46 · 405 阅读 · 0 评论 -
idea使用maven快速构建flink骨架项目
Scala版Flink程序编写本项目使用的Flink版本为最新版本,也就是1.11.2。现在提供maven项目的配置文件。使用Intellij IDEA创建一个Maven新项目勾选Create from archetype,然后点击Add Archetype按钮GroupId中输入org.apache.flink,ArtifactId中输入flink-quickstart-scala,Version中输入1.11.2,然后点击OK点击向右箭头,出现下拉列表,选中flink-quickstart-s原创 2020-10-22 12:54:23 · 1511 阅读 · 0 评论 -
scala中样例类与JSON字符串之间转换思路
样例类 ->JSON字符串采用JSON4S来转换!核心伪代码import org.json4s.DefaultFormatsimport org.json4s.jackson.Serialization val content = Serialization.write(value)(DefaultFormats)JSON->样例类采用阿里的fastjson来处理!import com.alibaba.fastjson.JSON//OrderDetail为样例类val o原创 2020-06-06 00:27:17 · 1136 阅读 · 0 评论 -
用scala向es写数据
package com.zhengkw.gmall.realtime.utilimport io.searchbox.client.JestClientFactoryimport io.searchbox.client.config.HttpClientConfigimport io.searchbox.core.Index/** * @ClassName:ESUtil * @author: zhengkw * @description: * @date: 20/06/03下午 2:30原创 2020-06-04 22:37:27 · 908 阅读 · 0 评论 -
浅谈spark中的standalone内核源码
Spark-standalone模式下内核分析1.1 Master和Worker启动在standalone模式下,如果配置了高可用,则必须先启动ZK和HDFS,HDFS里面有历史服务信息!使用启动命令start-all.sh启动 ->执行2个脚本 start-master start-slave1.2.1启动master启动master和worker并不冲突,他们为并行执行。脚本中执行java –cp org.apache.spark.deploy.master.Master相应原创 2020-05-21 23:21:59 · 179 阅读 · 0 评论 -
Spark中RDD与DF与DS之间的转换关系
前言RDD的算子虽然丰富,但是执行效率不如DS,DF,一般业务可以用DF或者DS就能轻松完成,但是有时候业务只能通过RDD的算子来完成,下面就简单介绍之间的转换。三者间的速度比较测试!这里的DS区别于sparkstream里的DStream!!转换关系RDD的出现早于DS,DF。由于scala的扩展机制,必定是要用到隐式转换的!所以在RDD下要转DF或者DS,就应该导隐式对象包! val conf = new SparkConf().setMaster("local[*]").setAppNa原创 2020-05-18 23:13:38 · 2882 阅读 · 0 评论 -
spark-streaming中DS的创建方法(用于测试)
由Socket方式构建package com.zhengkw.stu.day01import org.apache.spark.streaming.dstream.{DStream, ReceiverInputDStream}import org.apache.spark.streaming.{Seconds, StreamingContext}import org.apache.spark.{SparkConf, SparkContext}/** * @ClassName:SoketWor原创 2020-05-18 22:17:54 · 286 阅读 · 0 评论 -
Sparkstreaming连接Kafka,利用CKP来保证输出数据不丢失
package com.zhengkw.stu.day01.kafkademoimport kafka.serializer.StringDecoderimport org.apache.spark.SparkConfimport org.apache.spark.streaming.dstream.ReceiverInputDStreamimport org.apache.spark.streaming.kafka.KafkaUtilsimport org.apache.spark.strea原创 2020-05-17 22:56:21 · 253 阅读 · 0 评论 -
关于scala中的自身类型的注意事项
Demopackage com.zhengkw/** * @ClassName:Test * @author: zhengkw * @description: * @date: 20/05/12下午 11:30 * @version:1.0 * @since: jdk 1.8 scala 2.11.8 */object Test { def main(args: Array[String]): Unit = { }}/** * @descrption: 特质Logge原创 2020-05-12 23:42:41 · 152 阅读 · 0 评论 -
scala的默认导入和以及包声明以及导入
前言Scala默认会为每个.scala文件导入以下3个包:java.lang._scala._scala.Predef._ (一般很多的隐式转换都在该包下)包的声明支持和java一样的声明方式(基本这种使用)package com.zhengkw.scala.day04.pack支持多个package语句(很少碰到)package com.zhengkw.scal...原创 2020-04-27 23:00:03 · 1319 阅读 · 0 评论 -
Scala隐式参数隐式值注意事项
package com.zhengkw.scala.day06Exc/** * @ClassName:ImplicitValue * @author: zhengkw * @description: * 注意 * - 找隐式值的时候, 只看类型, 不看变量的名字 * * - 在作用域内, 只能有一个同类型的隐式值 * * - 一个隐式参数列表内, 如果有多个参数, 则这些...原创 2020-04-27 22:27:33 · 152 阅读 · 0 评论 -
Scala两种递归方式(尾递归和普通递归)实现 n!
package com.zhengkw.scala.day06Exc/** * @ClassName:Stratum1 * @author: zhengkw * @description: * @date: 20/04/27下午 6:46 * @version:1.0 * @since: jdk 1.8 scala 2.11.8 */object Stratum1 { d...原创 2020-04-27 19:50:54 · 533 阅读 · 0 评论 -
scala中的内部类初识
object InnerDemo1 { def main(args: Array[String]): Unit = { val outer1 = new Outer val inner1 = new outer1.Inner val outer2 = new Outer val inner2 = new o...原创 2020-04-27 00:09:16 · 188 阅读 · 0 评论 -
Scala中的类型判断与强转
object Extra1 { def main(args: Array[String]): Unit = { val a:A = new B // java中判断类型: a instanceof B if (a.isInstanceOf[B]) { // 判断a是否为B的对象 val b = a.asInsta...原创 2020-04-26 23:59:10 · 745 阅读 · 0 评论 -
scala中trait注意事项
前言在scala中的抽象类能有的成员, 那么特质(trait)都可有属性方法抽象属性抽象方法构造器(主/辅)与抽象类的区别抽象类只能单继承,trait可以多混入!class A extends t1 with t2 with t3...叠加冲突由于一个类可以混入(mixin)多个trait,且trait中可以有具体的属性和方法,若混入的特质中具有相同的方法(方法名,参数...原创 2020-04-26 23:33:23 · 214 阅读 · 0 评论 -
Scala中apply方法的应用
前言scala作为面向对象语言,有很多独特的黑科技,下面介绍一个黑科技用法!将对象当做函数来进行调用!下面通过一些案例来进一步阐述这个用法!codepackage com.zhengkw.single/** * Author zhengkw * Date 2020/4/25 10:37 */object ApplyDemo1 { def main(args: Array[...原创 2020-04-26 22:05:47 · 631 阅读 · 0 评论 -
Scala中的单例对象、伴生对象和伴生类
单例对象这个是scala提供的!object 对象名{ // 也可以写代码 def main(args: Array[String]){ // 入口 }}继承了Apptraitobject Hello extends App { println("Hello, World!")}伴生类和伴生对象一个scala文件中如果有名字相同的cl...原创 2020-04-26 20:53:11 · 487 阅读 · 0 评论 -
Scala中类型推断注意事项
前言Scala 编译器通常可以推断出表达式的类型,因此你不必显式地声明它。The Scala compiler can often infer the type of an expression so youdon’t have to declare it explicitly.编译器从不推断方法形式参数的类型。 但是,在某些情况下,当函数作为参数传递时,编译器可以推断出匿名函数形式...原创 2020-04-26 20:26:57 · 291 阅读 · 0 评论 -
理解Scala中的值调用和名调用以及惰性求值
package com.zhengkw.scala.day03Exc/** * @ClassName:Call * @author: zhengkw * @description: * @date: 20/04/23下午 10:05 * @version:1.0 * @since: jdk 1.8 scala 2.11.8 */object Call { def main(...原创 2020-04-24 01:13:06 · 199 阅读 · 0 评论 -
scala中的递归与尾递归随笔code
package com.zhengkw.scala.day03/** * @ClassName:CalledName * @author: zhengkw * @description: 匿名函数 * @date: 20/04/22下午 3:41 * @version:1.0 * @since: jdk 1.8 scala 2.11.8 */object CalledName ...原创 2020-04-24 01:08:37 · 169 阅读 · 0 评论 -
理解Scala闭包和柯里化
前言方法可以定义多个参数列表,当使用较少的参数列表调用多参数列表的方法时,会产生一个新的函数,该函数接收剩余的参数列表作为其参数。这被称为柯里化。一个匿名函数和这个匿名函数所处的环境就叫闭包!!! //柯里化 def add(a: Int)(b: Int) = a + b //等价于 def add(a:Int,b:Int)= a + b package com.zhe...原创 2020-04-24 01:07:26 · 241 阅读 · 0 评论 -
理解高阶函数的定义并且给高阶函数传递匿名函数
前言Higher order functions take other functions as parameters or return afunction as a result.高阶函数是指使用其他函数作为参数、或者返回一个函数作为结果的函数。类比数学中若f(x)为一元一次函数,那么 f(f(x))则为一元二次函数!每嵌套一层则提升一个阶层!codepackage com.z...原创 2020-04-24 00:48:12 · 215 阅读 · 0 评论 -
理解Scala中的抽象控制
前言在 《快学Scala》 一书中,控制抽象被描述为是一系列语句的聚集,是一种特殊的函数,因为它是本质上只是对一系列语句的封装,所以它理应:没有参数输入;没有值返回。package com.zhengkw.scala.day03Exc/** * @ClassName:ControlAbs * @author: zhengkw * @description: * @d...原创 2020-04-24 00:41:12 · 283 阅读 · 1 评论 -
Scala函数注意事项
函数如果没有return, 则自动把最后一行的值返回如果函数实现只有一行代码, 则 { }可以省略如果内部没有时候用return, 则返回值的类型也可以省略,scala编译器会根据最后一行得到值的类型进行自动推导如果在调用函数的时候, 如果没有参数则愿括号可以省略关于返回值:5. 如果没有return, 则自动把最后一行的值返回6. 如果有return, 则代码执行到re...原创 2020-04-21 22:06:19 · 172 阅读 · 0 评论 -
Scala基础二 插值
代码package com.zhengkw.scala/** * @ClassName:PrintTest * @author: zhengkw * @description: 输出 * @date: 20/04/20下午 2:38 * @version:1.0 * @since: jdk 1.8 scala 2.11.8 */object PrintTest { de...原创 2020-04-20 21:52:04 · 225 阅读 · 0 评论 -
Scala基础一 变量声明
变量声明package com.zhengkw.scala/** * @ClassName:DecVal * @author: zhengkw * @description: * @date: 20/04/20下午 9:06 * @version:1.0 * @since: jdk 1.8 scala 2.11.8 */object DeclaraVal { /* j...原创 2020-04-20 21:38:26 · 250 阅读 · 0 评论 -
idea不使用maven原型创建一个scalamaven工程
准备windows环境安装好idea,解压scala的压缩包到指定位置,进行配置到path变量中。能在cmd中运行scala命令即可!这步的前提是JAVA_HOME的正确配置!创建一个maven不选择原型创建完成以后,添加框架依赖给新创建的module。鼠标移动到新的module上右键点击new下面的add framework support 选择里面的scala!如果没有请先将ide...原创 2020-04-20 19:50:14 · 334 阅读 · 0 评论