Flink 源码阅读笔记(2)- JobGraph 的生成 2019-02-17 前面的文章我们介绍了 StreamGraph 的生成,这个实际上只对应 Flink 作业在逻辑上的执行计划图。Flink 会进一步对 StreamGraph 进行转换,得到另一个执行计划图,即 JobGr 阅读更多
Flink 源码阅读笔记(1)- StreamGraph 的生成 2019-02-16 在编写 Flink 的程序的时候,核心的要点是构造出数据处理的拓扑结构,即任务执行逻辑的 DAG。我们先来看一下 Flink 任务的拓扑在逻辑上是怎么保存的。 StreamExecutionEnvironment StreamExecutionEnvironment 是 Flink 阅读更多
关于容器技术的小抄 2018-12-29 Docker 最初风靡一时的 Paas 项目提供的“应用托管”,其最核心的组件就是一套应用的打包和分发机制。为了对多用户的应用环境进行隔离,会调用操作系统的 Cgroups 和 Namespace 阅读更多
DynamicVariable in Scala 2018-06-07 scala.util.DynamicVariable,这个类有点类似于 java 里面 ThreadLocal,适合用来保存和传递上下文(Context 阅读更多
从 SQL 语句中解析出源表和结果表 2018-05-30 SQL 解析器可以将 SQL 语句解析成一棵抽象语法树(AST)。遍历 AST,从所有的叶子节点中可以找到本条SQL 语句中需要的所有表。 在 Calcite 中,解析出的 AST 是 阅读更多
Partial Function in Scala 2018-03-01 模式匹配和匿名函数 Scala 的模式匹配可能是最常用到的代码片段,match 和 case 配合使用,应该是 Scala 程序员最常写的代码片段: 1 2 3 4 v match { case Some(str) => ... case None => 阅读更多
Flink 的状态管理和检查点机制 2017-09-20 从状态说起 状态 (State) 是 Flink 程序中构建复杂逻辑的基本组件。流处理中的状态可以视作算子上的记忆能力,可以保留和已经处理完的输入相关的信息,并对后续输入 阅读更多
Google 开源 RPC 框架 gRPC 初探 2016-08-25 gRPC 是 Google 开源的一款高性能 RPC 框架,前两天发布了 1.0 版本。RPC (Remote Procedure Call) 即远程过程调用,通过 RPC ,客户端的应用程序可以方便地调用另外一台机器上的服务端程 阅读更多
谈谈 Java 线程状态相关的几个方法 2016-07-23 在 Java 多线程编程中,sleep(), interrupt(), wait(), notify() 等方法是非常基本也很常用的方法。这些方法会改变运行中的 Java 线程的状态,正确地认识这些方法是掌握 Java 并发编 阅读更多
SimpleDateFormat 的线程安全问题与 ThreadLocal 2016-07-09 从 SimpleDateFormat 的线程安全说起 SimpleDateFormat 是 Java 中非常常用的一个类,用于解析和格式化日期字符串。这个类想必大家都有用过,但是 SimpleDateFormat 在多线程环境中并不是线程安全的。我刚知 阅读更多