11 vinoYang

尚未进行身份认证

我要认证

work @ Tencent. http://vinoyang.com

等级
TA的排名 1k+

Flink即将在1.7版本发布全新的Kafka连接器

最近我们向Flink社区贡献了一个全新的Kafka连接器(https://github.com/apache/flink/pull/6703),关联JIRA issue FLINK-9697。它包含了近6000行代码变更,经历了社区近100次的review讨论与评论。这一大特性即将会随Flink 1.7一起发布。这一特性也得到了一众Flink PMC的赞赏:现状与问题Apache Kafk...

2018-10-20 09:50:18

Flink扩展 Table/SQL Scalar 函数的实现

overview本文档以TO_BASE64函数为例,介绍如何实现、扩展Flink Table&SQL Scalar function。使用方式自定义的Scalar函数有多种使用方式,我们以测试代码来了解一下,具体是如何使用的: @Test def testToBase64(): Unit = { testAllApis( 'f0.toBas...

2018-08-12 13:48:39

Why EdgeX 弃 Java 转 Go

历史背景这里给不了解历史的同学先介绍一下背景。EdgeX的前身是Dell的Fuse项目(它是一个开源的物联网平台,包含超过12个微服务以及125000行净代码量),后由Dell将源码捐赠给Linux基金会并发起了EdgeXFoundry。说得更直白一点,Fuse(也即EdgeX早期)主要是基于Java语言(JVM平台)来实现的,微服务采用的是Spring Boot来构建。但到目前为止,已基...

2018-05-05 13:59:57

Flink 1.5版本的“Task本地恢复”实现摘要

overview解读Flink 1.5版本的“task本地恢复”feature的实现。 随着时间的推移,Flink有些模块的代码复杂度已经很高了(比较典型的就是状态&容错这块)。因为考虑到兼容历史实现的问题,类在快速增长。实现关于本地恢复的配置,封装在名为LocalRecoveryConfig的类中,该类可提供本地恢复模式的查询(也即LocalRecoveryMo...

2018-03-07 19:15:12

Flink 1.5版本网络栈重构技术分析

overview基于Flink近期的官方声明,明年的1.5版本将会发布三个较大feature,其中之一就是对于网络栈的重构。具体而言,就是将基于配置的、固定间隔的网络I/O改进为基于事件驱动的I/O。这种改进预期将会带来如下这些优势:提供应用程序级别的流控,以更好地处理反压(backpressure);降低Flink的网络延迟;更好地处理检查点的对齐(alignments);当bu...

2018-02-11 10:33:36

Uber Athenax项目核心技术点剖析

本文剖析一下Uber Athenax项目的核心技术点。AthenaX是一个流式分析平台,它可以让用户运行SQL来进行大规模可扩展的流式分析。由Uber开源,具备扩展到上百台节点处理日均千亿级别的实时事件。

2017-11-19 12:00:33

Foundations of streaming SQL

streaming & table

2017-11-05 19:03:12

Flink关系型API的公共部分

关系型程序的公共部分下面的代码段展示了Table&SQL API所编写流式程序的程序模式

2017-07-13 22:31:35

Flink关系型API简介

在接触关系型API之前,用户通常会采用DataStream、DataSet API来编写Flink程序,它们都提供了丰富的处理能力,以DataStream为例,它有如下这些优点:

2017-07-06 22:52:34

Flink批处理中的增量迭代

对某些迭代而言并不是单次迭代产生的下一次工作集中的每个元素都需要重新参与下一轮迭代,有时只需要重新计算部分数据同时选择性地更新解集,这种形式的迭代就是增量迭代。

2017-06-13 23:38:46

Flink-Table-SQL系列之source

source作为Table&SQL API的数据源,同时也是程序的入口。当前Flink的Table&SQL API整体而言支持三种source:Table source、DataSet以及DataStream,它们都通过特定的API注册到Table环境对象。

2017-06-12 22:56:32

谈谈EventTime以及Watermark

EventTime,ProcessingTime,Watermark,out-of-order..

2017-06-09 09:58:07

Flink批处理优化器之数据属性

在一段时间之前我们已介绍过IP(Interesting Property)对于优化器的意义以及它将对优化器的优化决策产生的影响。本篇我们将介绍Flink的批处理优化器中涉及到的所有的IP,我们将其统称为数据属性。后续我们会介绍Flink如何为优化器节点计算IP,并在之后的“剪枝”(pruning)阶段发挥作用。

2017-04-09 22:17:06

Flink批处理优化器之范围分区重写采用算法

采样算法上一篇我们分析了RangePartitionRewriter的数据处理分支,接下来我们开始分析采样分支,采样分支的核心在于采样算法。因为范围分区输入端每个分区的数据量无从得知,也就是说我们无法得出采样比例。

2017-04-07 18:42:47

Flink批处理优化器之范围分区重写

为最终计划应用范围分区重写Flink的批处理程序允许用户使用partitionByRange API来基于某个(或某些)字段进行按范围分区且可以选择性地指定排序顺序,示例代码如下:

2017-04-05 21:27:47

Flink运行时之客户端提交作业图-下

submitJob方法分析JobClientActor通过向JobManager的Actor发送SubmitJob消息来提交Job,JobManager接收到消息对象之后,构建一个JobInfo对象以封装Job的基本信息

2017-04-02 20:08:27

Flink运行时之客户端提交作业图-上

客户端提交作业图作业图(JobGraph)是Flink的运行时所能理解的作业表示,无论程序通过是DataStream还是DataSet API编写的,它们的JobGraph提交给JobManager以及之后的处理都将得到统一。本篇我们将分析客户端如何提交JobGraph给JobManager。

2017-03-31 21:13:57

Flink批处理优化器之成本估算

成本估算在基于成本的优化器中,成本估算非常重要,它直接影响着候选计划的生成。在Flink中成本估算依赖于每个不同的运算符所提供的自己的“预算”,本篇我们将分析什么是成本、运算符如何提供自己的预算以及如何基于预算估算成本。

2017-03-28 22:56:34

Flink-CEP之模式流与运算符

之前我们分析了CEP的API,接下来我们将分析CEP API的内部实现包括模式流与运算符。模式流模式流(PatternStream)是CEP模式匹配的流抽象,一个PatternStream对象表示模式检测到的序列所对应的流。该序列以映射来表示,以模式名关联一组事件对象。

2017-03-16 23:17:45

Flink-CEP之NFA编译器

NFAbNFA ^ b编译器的作用是将模式对象编译成NFA或者NFAFactory(用来创建多种NFA对象)。这个编译的过程,需要对模式进行拆分从而构建状态以及根据条件构建状态转换信息,最终根据构建好的状态集合来创建NFA。示意图如下:

2017-03-11 22:14:15

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!