Spark2.1.0模型设计与基本架构(上)

随着近十年互联网的迅猛发展,越来越多的人融入了互联网——利用搜索引擎查询词条或问题;社交圈子从现实搬到了Facebook、Twitter、微信等社交平台上;女孩子们现在少了逛街,多了在各大电商平台上的购买;喜欢棋牌的人能够在对战平台上找到世界各地的玩家对弈。在国内随着网民数量的持续增加,造成互联网公... ... »

一篇入门 — Scala 宏

前情回顾 上一节, 我简单的说了一下反射的基本概念以及运行时反射的用法, 同时简单的介绍了一下编译原理知识, 其中我感觉最为 的地方, 就属泛型的几种使用方式了. 而最抽象的概念, 就是对于符号和抽象树的这两个概念的理解. 现在回顾一下泛型的几种进阶用法: 上界 : 视界 <% 边界 : 协变 +T ... »

PICE(6):集群环境里多异类端点gRPC Streaming - Heterogeneous multi-endpoints gRPC streaming

gRPC Streaming的操作对象由服务端和客户端组成。在一个包含了多个不同服务的集群环境中可能需要从一个服务里调用另一个服务端提供的服务。这时调用服务端又成为了提供服务端的客户端了(服务消费端)。那么如果我们用streaming形式来提交服务需求及获取计算结果就是以一个服务端为Source另一 ... »

scala成长之路(7)函数进阶——可能是史上最浅显易懂的闭包教程

由于scala中函数内部能定义函数,且函数能作为函数的返回值,那么问题来了,当返回的函数使用了外层函数的局部变量时,会发生什么呢?没错,就产生是闭包。 关于闭包的解释网上一大堆,但基本上都是照葫芦画瓢,一个模子刻出来的,说来说去都只讲了“内部函数引用外层函数的局部变量”这个刻板的定义,根本没降到精髓 ... »

scala成长之路(5)函数入门

众所周知,scala作为一门极客型的函数式编程语言,支持的特性包括: 函数拥有“一等公民”身份; 支持匿名函数(函数字面量) 支持高阶函数 支持闭包 部分应用函数 柯里化 首先需要指出,在scala中有方法和函数对象两种形态,方法即是通过def关键字定义的函数,而函数对象则是通过将方法转换而来,或l ... »

scala成长之路(5)问题记录

还是在看scala sdk源码的时候,有很多问题要考自己慢慢摸索,这里做个记录。 一. 隐式转换的作用域? 隐式转换需要三个因素 1. 己方(当前对象) 2. 转换函数 3. 对方(转换的目标类) 这三个需要在同一个作用域内才能生效吗?举个简单的例子,依然是java HashSet隐式转换为scal ... »

scala 样例类

一.case class 的特征 1.case class 默认实现了apply 方法,所以可以用val mes = Message("jason", "wus", "starbuck") 方法来创建对象 2.case class 重写了toString方法, 3.case class 主构造函数中 ... »

scala 类,伴生对象

1.属性的定义 编写一个PersonS类,并在其中定义一些属性,通过PersonS.scala 编译后的情况查看,可以知道不同修饰符修饰的属性分别会生成什么方法(set,get) 编译后用jd-gui 反编译查看 2.构造方法的定义 1)无参主构造函数的定义 反编译结果: 反编译后可以看到,系统会自 ... »

scala中Either的一种使用场景

用scala有一年多了,对于scala中的Option和Try使用的较为频繁,对其应用场景相对熟悉一些。而对于Either,仔细回想一下却发现几乎(完全)没有使用过,其实并不是没有遇到过Either的使用场景,只是遇到的时候不知道能够使用Either来解决此问题。 昨天在网上偶然看到一篇介绍Eith ... »

case class 和class的区别以及构造器参数辨析

工作中偶然发现Scala构造方法中的参数,无论是否有val/var修饰都可以顺利编译运行,如下: 那么两者的区别在哪里呢?对于case class呢?其区别又在哪里?其应用场景又在哪里呢?下面就辨析一下如下几个类的区别 单纯的从代码中来看,发现不了什么区别,只是简单的多了一个val的修饰符。为了一探 ... »

Spark Streaming 与 Kinesis的集成

1:概念 Amazon Kinesis Amazon Kinesis是一种全面管理的服务,用于大规模实时处理流数据。提供多种核心功能,可以经济高效地处理任意规模的流数据,同时具有很高的灵活性。借助 Amazon Kinesis,可以获取实时数据 (例如视频、音频、应用程序日志、网站点击流) 以及关于 ... »

我的FP感悟

FP概要: ==== 我主要总结了以下5点: 1. 函数是一等公民: 函数的参数是函数,返回值是函数,类型还是函数... 2. 舍弃语句,拥抱表达式: 表达式就一定有返回值 3. 无副作用: 不修改外部闭包的状态. 4. immutable: 没有变量,一切不可变,循环递归实现 5. 引用透明: 程 ... »

Scala微服务架构 一

Scala微服务架构 一 ========= 因为公司的一个项目需求变动会非常频繁,同时改动在可控范围内,加上产品同学喜欢一些超前思维,我们的CTO决定提前开启八门,使用微服务架构。 那么什么是微服务架构呢? 1.1 微服务架构 “微服务”架构是近期软件应用领域非常热门的概念。 1.1.1 什么是微 ... »

学习scalaenv

"" 背景 最近由于工作需要, 我总是在不同的scala项目间流动开发. 这就遇到一个很棘手的问题, 这几个项目用的scala版本不一致, 老项目用的是 , 新项目用的是 . 写scala项目最要命的可能就是高版本总是不兼容低版本. 如果你用的是IDE开发, 项目版本不同必不会给你带来问题, 因为I ... »

scala笔记,主要摘自网络教程

1.scala是一种纯面向对象的语言,每个值都是对象。对象的数据类型以及行为由类和特质描述 2.类的扩展有2种机制:继承和混入机制 3.scala是一种函数式语言,其函数也能当成值来使用 ==4.scala使用actor作为其并发模型,actor是类似线程的实体,通过邮箱发收消息。actor可以复用 ... »