小鹏闲话
小鹏闲话

不自由,仍可活


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 心路之旅

  • Scala 之旅

  • 搜索

Flink流计算——前言和目录

发表于 2018-11-27 分类于 翻译
本文字数: 2.4k 阅读时长 ≈ 2 分钟
原文链接:https://www.safaribooksonline.com/library/view/stream-processing-with/9781491974285/

本书概要

对于提前发布的电子书来说,你得到的是最原始的内容,甚至没有经过作者的编辑,因此你可以早在官方正式发布之前就利用其中的技术。此外,在本书有重大修改、新章节更新以及最终的电子书发布的时候,都会收到更新提示。

开始学习Apache Flink吧,这套开源框架让你驾驭流式数据处理,诸如用户的交互行为、传感器数据和机器日志等。通过这套实用指南,你将学会使用Apache Flink的流处理API来实现、持续运行和维护实际的程序。

作者之一Fabian Hueske是Flink的创建者,另外一位作者Vasia Kalavri是Flink图处理API (Gelly)的核心贡献者。他们解释了并行处理的基本概念,告诉你流式分析与传统批处理数据分析的区别。通过此书,软件工程师、数据工程师以及系统管理员将会学到Flink的DataStream API的基础知识,包括它的架构和一个基本的Flink流处理程序的组件。

阅读全文 »

2018-11-04参加Flink meetup总结

发表于 2018-11-05 分类于 技术
本文字数: 1.2k 阅读时长 ≈ 1 分钟

Flink在有赞的实践

  1. 实时框架从Storm到Spark Structed Streaming,到今年才开始的Flink尝试
  2. Spark Structed Streaming对SQL支持不够(如不支持多个聚合、count distinct等)
  3. Flink的实际踩坑经历:
    • container超过配置的数量,解决:FLINK-9567
    • 开启延迟监控后收到太多报警,解决1:FLINK-10243;解决2:FLINK-10246
  4. Flink结合spring:如何获取SpringContext(单例,在算子的open方法中获取bean)
  5. Flink异步不支持KeyedState(没搞懂。。)
  6. Flink CEP简介

小结:刚开始尝试flink,坑比较多,需要紧跟开源社区。

阅读全文 »

Scala之旅——默认参数值

发表于 2018-10-28 分类于 翻译
本文字数: 780 阅读时长 ≈ 1 分钟
原文:https://docs.scala-lang.org/tour/default-parameter-values.html

Scala提供了默认参数值的功能,允许调用者忽略那些参数。

1
2
3
4
def log(message: String, level: String = "INFO") = println(s"$level: $message")

log("System starting") // prints INFO: System starting
log("User not found", "WARNING") // prints WARNING: User not found

参数level拥有一个默认值所以该参数是可选的。最后一行,参数"WARNING"覆盖了默认参数"INFO"。在Java中你可能需要进行重载方法,而在Scala中使用可选参数能够达到同样的效果。但是,如果调用者忽略了一个参数,那么后面的参数必须带上名字。

阅读全文 »

Scala之旅——操作符

发表于 2018-10-28 分类于 翻译
本文字数: 1.1k 阅读时长 ≈ 1 分钟
原文:https://docs.scala-lang.org/tour/operators.html

在Scala中,操作符也是方法。任何带有单个参数的方法可以作为_中缀操作符_来使用。例如:+可以用点表达式来调用:

1
10.+(1)

然而,使用中缀操作符更加便于阅读:

1
10 + 1

定义和使用操作符

你可以使用任何合法的标识符来作为操作符。这包括名称(如add)以及符号(如+)。

阅读全文 »

Scala之旅——传名(By-name)参数

发表于 2018-10-28 分类于 翻译
本文字数: 681 阅读时长 ≈ 1 分钟
原文:https://docs.scala-lang.org/tour/by-name-parameters.html

_传名参数_只有在使用时才会被计算。相对地是_传值(by-value)参数_。要使得参数可以通过传名来调用,只需要在它的类型前加上=>。

1
def calculate(input: => Int) = input * 37

传名参数的优点在于如果它们没有在函数体中使用,就不会被计算。另一方面,传值参数的优点在于它们仅会被计算一次。

这里有个例子,介绍了我们如何实现一个while循环:

阅读全文 »

Scala之旅——带名参数

发表于 2018-10-28 分类于 翻译
本文字数: 587 阅读时长 ≈ 1 分钟
原文:https://docs.scala-lang.org/tour/named-arguments.html

调用方法时,可以使用参数名给参数带上标签,正如:

1
2
3
4
5
6
7
def printName(first: String, last: String): Unit = {
println(first + " " + last)
}

printName("John", "Smith") // Prints "John Smith"
printName(first = "John", last = "Smith") // Prints "John Smith"
printName(last = "Smith", first = "John") // Prints "John Smith"

注意,带名参数的顺序可以重新调整。然而,如果有些参数是带名的,有些则不是,那么不带名的参数必须在最前面,并且是按照方法定义中参数的顺序出现。

1
printName(last = "Smith", "john") // error: positional after named argument

注意带名参数不适用于调用Java方法。

阅读全文 »

Scala之旅——包和导入

发表于 2018-10-28 分类于 翻译
本文字数: 1.4k 阅读时长 ≈ 1 分钟
原文:https://docs.scala-lang.org/tour/packages-and-imports.html

包和导入

Scala使用包来创建命名空间,允许你对程序进行模块化设计。

创建包

通过在Scala文件顶部声明一个或者多个包名来创建包。

package users

class User

一般而言包的命名是和包含Scala文件的目录相同的,然而实际上Scala并不关心文件布局。一个sbt项目中users包的目录结构可能如下所示:

阅读全文 »

Scala之旅——类型推断

发表于 2018-10-28 分类于 翻译
本文字数: 986 阅读时长 ≈ 1 分钟
原文:https://docs.scala-lang.org/tour/type-inference.html

Scala编译器经常可以推断出一个表达式的类型,所以你可以不必显示地进行声明。

类型省略

1
val businessName = "Montreux Jazz Café"

编译器可以发现businessName是一个字符串。对于方法,也是类似的:

1
def squareOf(x: Int) = x * x

编译器可以推断出返回类型是Int,所以不需要显式的返回类型。

阅读全文 »

Scala之旅——多态方法

发表于 2018-10-28 分类于 翻译
本文字数: 642 阅读时长 ≈ 1 分钟
原文:https://docs.scala-lang.org/tour/polymorphic-methods.html

Scala中的方法可以通过类型和值来进行参数化。它的语法和泛型类是接近的。类型参数是用方括号括起来,而值参数是用圆括号括起来。

下面是示例:

阅读全文 »

Scala之旅——多参数列表(柯里化)

发表于 2018-10-28 分类于 翻译
本文字数: 1.6k 阅读时长 ≈ 1 分钟
原文:https://docs.scala-lang.org/tour/multiple-parameter-lists.html

一个方法可以定义多参数列表。当调用一个不全的参数列表的方法时,会产生一个函数并将缺少的参数列表作为参数。这有个正式定义叫柯里化。

下面的例子定义在Scala集合中的Traversable特质当中:

1
def foldLeft[B](z: B)(op: (B, A) => B): B

foldLeft按照从左往右的顺序,将二进制运算符op作用于初始值z和这个traversable中的所有元素。下面展示了它的用法。

阅读全文 »

12…24
小鹏

小鹏

238 日志
7 分类
111 标签
RSS
GitHub 知乎
Creative Commons
推荐阅读
  • 心路之旅
  • Scala 之旅
© 2014 – 2019 小鹏 | 站点总字数: 336k | 站点阅读时长 ≈ 5:06
由 Hexo 强力驱动 v3.9.0
|
主题 – NexT.Muse v7.2.0
|
0%