首页
学习
活动
专区
工具
TVP
发布

山行AI

山行AI(原开发架构二三事),后续专注于AI应用领域
专栏作者
288
文章
614260
阅读量
56
订阅数
十亿行大数据挑战——用Java快速聚合文本文件中的10亿行的有趣探索
一亿行挑战(1BRC)是一项有趣的探索,旨在了解现代Java在从文本文件中聚合十亿行数据方面的极限。拿起你的(虚拟)线程,使用SIMD,优化你的GC,或者尝试其他任何技巧,创建解决此任务的最快实现!
山行AI
2024-01-05
5680
从头分析flink源码第五篇之提交jobGraph时各组件内部都发生了什么?
上几篇文章中我们分析了一个flink wordcount任务生成streamGraph和jobGraph的过程。接下来,我们继续从jobGraph生成后开始来分析executionGraph的生成过程及任务的提交过程,本文主要分析任务提交过程中各组件的执行逻辑,如TaskManager、ResourceManager、JobManager等。本文只涉及到本地运行wordcount时各组件的内部运行逻辑分析,不包括其他资源管理模式如yarn或Kubernetes模式下任务的提交流程(后续会专门行文来分析)。文章较长,代码较多,不喜慎入。
山行AI
2021-09-14
1.1K0
从头分析flink源码第三篇之jobGraph的生成
上一篇中我们分析了一个简单的flink wordcount程序由DataStream的transformation列表转换成StreamGraph的过程,紧接着上文的步骤,本文我们着重分析一下从streamGraph生成jobGraph的过程。
山行AI
2021-07-01
1.7K1
flink源码从头分析第一篇之WordCount DataStream操作
每个应用程序都有一个hello world代码,在flink里面这个hello world一般就是一段wordcount程序,我们来尝试通过一段wordcount代码来逐步剖析flink的执行过程。毫无疑问,这将是一个系列,而且笔者没办法保证能有足够的空闲时间完成这个系列。
山行AI
2021-07-01
1.2K0
flink源码分析之kafka consumer的执行流程
线上flink任务稳定运行了两个多月了,突然之间收到了消息堆积较多的报警,kafka上看到的现象是消息堆积较多。问过业务人员得知,对应的流表在前一天重新刷了一遍数据,在我们的这个任务中有两次维表关联,而且内层有一个split操作会造成外层维表关联的数据量膨胀(最大可能为80倍,即split之后产生了80条新记录)。开始了问题分析之路。
山行AI
2021-04-29
2.7K0
Flink RocksDB State Backend:when and how
流处理应用程序通常是有状态的,“记住”已处理事件的信息,并使用它来影响进一步的事件处理。在Flink中,记忆的信息(即状态)被本地存储在配置的状态后端中。为了防止发生故障时丢失数据,状态后端会定期将其内容快照保存到预先配置的持久性存储中。该RocksDB[1]状态后端(即RocksDBStateBackend)是Flink中的三个内置状态后端之一。这篇博客文章将指导您了解使用RocksDB管理应用程序状态的好处,解释何时以及如何使用它,以及清除一些常见的误解。话虽如此,这不是一篇说明RocksDB如何深入工作或如何进行高级故障排除和性能调整的博客文章;如果您需要任何有关这些主题的帮助,可以联系Flink用户邮件列表[2]。
山行AI
2021-04-16
2.8K0
flink分析之Task的生命周期
之前有想过系统地来一番flink源码分析系列,谁曾想工作中需要完成的需求有些多,完整的flink源码分析系列只能一再往后拖了。之前公众号后台有想学习flink的朋友留言想看更多学习flink的资料,现在先发一些之前收藏的关于flink相关的文章,其中大多翻译自flink社区,希望能给大家带来一些帮助。本文[1]主要围绕flink任务的生命周期展开。
山行AI
2021-04-16
1.4K0
深入研究Apache Flink中的可缩放状态
•本来打算写一个flink源码分析的系列文章,但由于事情太多,又不太想输出低质量的文章,所以开始看一些好的flink相关博客,本文译自https://www.ververica.com/blog/apache-flink-at-mediamath-rescaling-stateful-applications ;•flink中state的划分和介绍;•flink 中operator state在什么时候会进行rescale以及如何进行rescale?;•flink 中keyed state的when and how?。
山行AI
2021-03-24
1.5K0
flink线程模型源码分析1之前篇将StreamTask中的线程模型更改为基于Mailbox的方法
本文中关于将StreamTask中的线程模型更改为基于Mailbox的方法主要译自如下两处:
山行AI
2021-03-11
2.6K0
flink中如何自定义Source和Sink?
动态表(Dynamic tables)是Flink的Table&SQL API的核心概念,用于以统一方式处理有界和无界数据。
山行AI
2021-02-19
4.6K0
flink sql源码分析一之执行流程梳理
我们在梳理flink sql 执行流程时以sql解析、sql校验、sql转化及sql优化的顺序来展开,本篇主要是对过程的梳理,不会涉及过多的代码部分,后面会针对各环节进行逐一分析。
山行AI
2020-12-14
1.8K0
flink jobmanager与taskmanager内存配置源码分析
先来看一下官网上对flink内存设置的介绍。Flink JVM 进程的进程总内存(Total Process Memory)包含了由 Flink 应用使用的内存(Flink 总内存)以及由运行 Flink 的 JVM 使用的内存。Flink 总内存(Total Flink Memory)包括 JVM 堆内存(Heap Memory)和堆外内存(Off-Heap Memory)。其中堆外内存包括直接内存(Direct Memory)和本地内存(Native Memory)。
山行AI
2020-12-14
2.3K0
flink源码分析之TaskManager启动篇
客户端不是运行时和程序执行的一部分,但用于准备数据流并将其发送到JobManager。之后,客户端可以断开连接(分离模式 detached mode),或者保持连接以接收进度报告(附加模式 attached mode)。客户机可以作为触发执行的Java/Scala程序的一部分运行,也可以在命令行使用./bin/flink run...开启进程中运行。
山行AI
2020-10-27
2.5K0
flink之udf执行流程分析篇
1.UDF: 自定义标量函数(User Defined Scalar Function)。一行输入一行输出。2.UDAF: 自定义聚合函数。多行输入一行输出。3.UDTF: 自定义表函数。一行输入多行输出或一列输入多列输出。
山行AI
2020-07-28
1.9K0
flink的local模式启动全流程源码分析
这是一个执行WordCount的操作,我们以这个demo为入口来对整个执行流程进行分析记录。
山行AI
2020-05-22
1.9K0
flink实战之解决金融数据聚合问题一
Flink提供了三种时间模型,EventTime、IngestionTime、WindowProcessingTime如下图:
山行AI
2019-06-28
2K0
没有更多了
社区活动
Python精品学习库
代码在线跑,知识轻松学
【玩转EdgeOne】征文进行中
限时免费体验,发文即有奖~
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品·最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档