Akka-Cluster(1)- Cluster Singleton 单例节点Akka-Cluster(1)- Cluster Singleton 单例节点
关于cluster-singleton我在前面的博文已经介绍过,在这篇我想回顾一下它的作用和使用方法。首先,cluster-singleton就是集群某个节点上的一个actor。任何时间在集群内保证只会有一个这种actor的实例。它可以是在任何节点上,具体位置由akka-...[2018/10/26]
Akka-Cluster(0)- 分布式应用开发的一些想法
当我初接触akka-cluster的时候,我有一个梦想,希望能充分利用actor自由分布、独立运行的特性实现某种分布式程序。这种程序的计算任务可以进行人为的分割后再把细分的任务分派给分布在多个服务器上的actor上去运算。这些服务器都处于同一集群环境里,它们都是akka-cluste...[2018/10/23]
Scala解析MDF文件Scala解析MDF文件
1 import java.io._
2 import java.nio.ByteBuffer
3
4 import scala.collection.mutable.ListBuffer
5
6 object Hello_mdf {
7
...[2018/10/22]
scala集合与java集合的转换应用
今天在业务开发中遇到需要Scala集合转为Java集合的场景;
因为业务全部是由Scala开发,但是也避免不了调用Java方法的场景,所以将此记录下来加深记忆;
import scala.collection.JavaConverters._ 需要导入这个包
val javaR...[2018/10/17]
安装 Scala
0. 说明
Scala 安装(Windows) & Scala 安装(Linux)
1. Scala 安装(Windows)
1.0 下载 Scala
下载地...[2018/10/8]
Scala集合学习总结Scala集合学习总结
遍历集合可以使用迭代器iterator的那套迭代方式。Seq是一个有先后次序的序列,比如数组或列表。IndexedSeq可以通过下标进行任意元素的访问。例如ArrrayBuffer。
Set是一组没有先后次序的值,在SortedSet中,元素以某种排过序的顺序被访问。
Map是一组(键,值)对偶...[2018/9/28]
深圳scala-meetup-20180902(3)- Using heterogeneous Monads in for-comprehension with Monad Transformer
scala中的Option类型是个很好用的数据结构,用None来替代java的null可以大大降低代码的复杂性,它还是一个更容易解释的状态表达形式,比如在读取数据时我们用Some(Row)来代表读取的数据行Row,用None来代表没有读到任何数据,免去了null判断。由此我们可以对数...[2018/9/28]
PICE(2):JDBCStreaming - gRPC-JDBC Service
在一个akka-cluster环境里,从数据调用的角度上,JDBC数据库与集群中其它节点是脱离的。这是因为JDBC数据库不是分布式的,不具备节点位置透明化特性。所以,JDBC数据库服务器必须通过服务方式来向外提供数据操。在这种场景里服务端是JDBC服务,其它节点,包括其它...[2018/9/25]
学习sbtenv
背景
最近由于工作需要, 我总是在不同的scala项目间流动开发. 这就遇到一个很棘手的问题, 这几个项目用的sbt版本不一致, 老项目用的是 sbt 0.13.15, 新项目用的是 sbt 1.0.2. 写scala项目最要命的可能就是高版本总是不兼容低版本.
一开始着急干活, 就很暴力...[2018/9/25]
学习scalaenv
背景
最近由于工作需要, 我总是在不同的scala项目间流动开发. 这就遇到一个很棘手的问题, 这几个项目用的scala版本不一致, 老项目用的是 scala 2.11.8, 新项目用的是 scala 2.12.2. 写scala项目最要命的可能就是高版本总是不兼容低版本.
如果你用的是...[2018/9/25]
scala (3) Function 和 Method
scala 定义函数的关键字是 val
定义函数的通用格式是 val 函数名 = (参数列表)=> {函数体}
object FunctionDemo {
通用的定义格式
val f1 = (x: Int, y: Int) =...[2018/9/25]
PICE(3):CassandraStreaming - gRPC-CQL Service
在上一篇博文里我们介绍了通过gRPC实现JDBC数据库的streaming,这篇我们介绍关于ca andra的streaming实现方式。如果我们需要从一个未部署ca andra的节点或终端上读取ca andra数据,可以用gRPC来搭建一个数据桥梁来连接这两端。这时ca andra...[2018/9/25]
case class 和class的区别以及构造器参数辨析
工作中偶然发现Scala构造方法中的参数,无论是否有val/var修饰都可以顺利编译运行,如下:
1 cla AA(name: String)
2 cla BB(val name: String)
那么两者的区别在哪里呢?对于case cla 呢?其区别又在哪里?其应用...[2018/9/25]
Scala基础
Scala概述
什么是Scala
Scala是一种多范式的编程语言,其设计的初衷是要集成面向对象编程和函数式编程的各种特性。Scala运行于Java平台(Java虚拟机),并兼容现有的Java程序。http: www.scala-lang.org
为什么要学Scala
...[2018/9/25]
Scala的高级特性
高阶函数
概念
Scala混合了面向对象和函数式的特性,我们通常将可以作为参数传递到方法中的表达式叫做函数。在函数式编程语言中,函数是“头等公民”,高阶函数包含:作为值的函数、匿名函数、闭包、柯里化等等。
作为值的函数 &nbs...[2018/9/25]
PICE(4):MongoDBStreaming - gRPC Protobuf conversion
前两篇我们介绍了JDBC和Ca andra的gRPC streaming实现。相对MongoDB来说,JDBC和Ca andra支持字符类型的query语句SQL,CQL,所以把query指令转换成protobuf structures是简单直接的。而MongoDB没有提...[2018/9/25]
spark-Scala
一、spark的特点
1.快速的
2.容易使用的
3.通用的
4.开放的
二、spark组件
sparkCore sparkSQL sparkStreaming MLibmachielearning GraphXgraphproce ing
三、函数、数组、map和tuple
&n...[2018/9/25]
Scala的控制结构和函数Scala的控制结构和函数
控制结构和函数
先看以下简单的一个条件表达式的demo
object TestConditional {
def main(args: Array[String]): Unit = {
scala的if判断表达式
var x = 1
if (x > 0) ...[2018/9/25]
Scala的映射和元组操作
映射和元组操作
构造Map
构造一个不可变的MAP映射,类似与key -> value这样的组合叫做对偶
val score = Map("Jack" -> 12, "Bob" -> 20)
也可以这种创...[2018/9/25]
Scala中的类学习
Scala中的类学习
从java了解类的情况下,了解Scala的类并不难。Scala类中的字段自动带getter和setter方法,用@BeanProperty注解生成javaBean对象的getXXX与setXXX方法
构造Scala的类
cla Counter {
初始...[2018/9/25]
Scala的静态方法和实例方法
Scala的对象学习 Scala没有静态方法或静态字段,可以使用object这个语法达到相同的目的,对象定义了某个类的单个实例 object Accounts {
private var lastNumber ...[2018/9/25]
Scala的类继承
Scala的类继承
extend
Scala扩展类的方式和java一样使用extends关键字
cla Employee extends Person {
}
与java一样,可以在定义的子类重写超类的方法,定义父类不存在的属性和方法
override
cla Person ...[2018/9/25]
Scala的文件读写操作与正则表达式
目录
在本篇博客中你将会学习并了解常用的文件处理任务,例如读取文件的一行文本,本博客的要点包含:
Source.fromFile(...).getLines.toArray 输出文件所有行
Source.fromFile(...).mkString 以字符串形式输出文件内容
将字符串转换...[2018/9/25]
深圳scala-meetup-20180902(1)- Monadic 编程风格
刚完成了9月份深圳scala-meetup,趁刮台风有空,把我在meetup里的分享在这里发表一下。我这次的分享主要分三个主题:“Monadic编程风格“、”Future vs Task and ReaderMonad应用方法“及”using heter...[2018/9/25]
深圳scala-meetup-20180902(2)- Future vs Task and ReaderMonad依赖注入
在对上一次3月份的scala-meetup里我曾分享了关于Future在函数组合中的问题及如何用Monix.Task来替代。具体分析可以查阅这篇博文。在上篇示范里我们使用了Future来实现某种non-blocking数据库操作,现在可以用Task替换Future部分:
cl...[2018/9/25]