Writing

技术细节、工程实践,以及对领域和行业的长期观察。

按主题浏览 →
  • Paper Notes(2) - Updating.. Liao Jiayi Liao Jiayi

    记录一下自己读的Paper。

  • Paper Notes(1) - Done Liao Jiayi Liao Jiayi

    记录一下自己读的Paper。

  • Reinforcement Learning Notes Liao Jiayi Liao Jiayi

    RL 挺有意思的

  • SGLang Notes(主要是 Awesome-ML-SYS-Tutorial Notes) Liao Jiayi Liao Jiayi

    sglang notes

  • (copy)MIT IAP 2025 / 6.S186 Liao Jiayi Liao Jiayi

    notes 记一下

  • LeRobot Notes(基本流程) Liao Jiayi Liao Jiayi

    LeRobot 项目 notes

  • Image 和 Video 的处理 Pipeline Liao Jiayi Liao Jiayi

    Image 和 Video 的处理 Pipeline

  • Robot LIBERO 数据集 Liao Jiayi Liao Jiayi

    notes from reading LIBERO dataset。

  • 一个通用的 LLM 的评测框架解析 Liao Jiayi Liao Jiayi

    一个通用的 LLM 的评测框架解析

  • PyTorch Tensor 变换 Liao Jiayi Liao Jiayi

    PyTorch Tensor 变换

  • vLLM KV Cache 实现要点 Liao Jiayi Liao Jiayi #vLLM#KVCache#LLM

    vLLM 的 KVCache 机制是推理过程中必不可少的,但是随着序列建模的 context 不断增长,带来的 KV Cache 相关的架构迭代也非常频繁,比如 PD 分离、多种 Cache 存储选型等。

  • DeepSpeed ZeRO 主流程源码和流程解析 Liao Jiayi Liao Jiayi

    ZeRO:Zero Redundancy Optimizer(无冗余优化器),主要目标是为了降低 GPU 显存的冗余占用,通过分片的模式来提高训练任务并行效率或者提高资源利用率。

  • Frequently Used Tools Liao Jiayi Liao Jiayi

    Frequently Used Tools

  • 实时计算系列(4) - Failover in Flink Liao Jiayi Liao Jiayi #Flink#Failover#Apache Flink

    本文介绍 Flink 中的 Failover 机制。

  • 数据湖系列(2) - Iceberg 核心功能原理剖析 Liao Jiayi Liao Jiayi #Iceberg#Data Lake

    上一篇文章中讲解了关于 Hudi 的基本概念和功能原理,Hudi 利用主键索引的方法来实现了 Upsert 的语义。Apache Iceberg 也是一个广为应用的数据湖框架,虽然两个框架的设计初衷和思路不同,但如今随着需求逐步丰富,两者对于使用者来说,却是越来越趋于一致了。

  • 数据湖系列(1) - Hudi 核心功能原理剖析 Liao Jiayi Liao Jiayi #Hudi#Data Lake

    随着互联网业务的逐步成熟,数仓和模型训练的基本盘逐步稳固,越来越多的工程师从业务开发需求转移到了工程的架构升级,而常用的 Hudi 和 Iceberg 往往会成为替代 Hive/Hdfs 等架构升级的选型。

  • Feast 技术架构详解 Liao Jiayi Liao Jiayi #Feast#Streaming#Flink

    本文详细介绍 Feast 的技术架构。

  • Ray Datasets - 模型训练前的"最后一公里" Liao Jiayi Liao Jiayi #Ray#DataSets

    Ray 1.8+ 版本中提出使用 Datasets 来解决模型训练的"最后一公里"问题。由于并未在 Ray 上做过多的实践,所以本文更多是将 Datasets 做了系统化的梳理。

  • Flink 的容错机制以及弱一致性快照 Liao Jiayi Liao Jiayi #Flink#Apache Flink

    本文聊聊 Flink 中的容错机制及其存在的常见问题,以及在生产实践中遇到的弱一致性场景和解决方案。

  • Why not RocksDB in Streaming State? Liao Jiayi Liao Jiayi #Flink#RocksDB#Apache Flink

    本文以 Apache Flink 为例,聊聊为什么 RocksDB 不是流计算引擎中理想的状态存储。Flink 中使用 RocksDB 作为大状态的存储后端,但在实际线上大规模的生产应用中,我们发现 RocksDB 和流计算场景的组合,即使在参数调优及技术优化后,也始终达不到预期的理想状态。

  • Hazelcast Jet - Low-latency Stream Processing at the 99.99th Percentile Liao Jiayi Liao Jiayi #Flink#Apache Flink

    原文:Hazelcast Jet: Low-latency Stream Processing at the 99.99th Percentile,Hazelcast Jet 是一个流处理引擎,整篇论文通读下来,它的定位和当前广为应用的流计算引擎 Apache Flink 和 Spark Streaming 又有些不同。

  • 如何自定义 Flink State 使用的 Serializer Liao Jiayi Liao Jiayi #Flink#Apache Flink

    自定义 Flink State 的序列化方式是一种高阶的使用技巧,在很多复杂场景下,通过自定义 Serializer 可以在兼容性、性能等方面获得一定的收益。

  • Flink RocksDB 内存管理 Liao Jiayi Liao Jiayi #Apache Flink

    RocksDB 的内存管理在 Flink 1.10 版本之前是不受管控的,社区利用 RocksDB 已有的一些内存控制上的优化,在去年对 Flink 中 RocksDB 的使用做了一系列的改造。

  • 如何决定事情的优先级 Liao Jiayi Liao Jiayi #职场系列

    如果说专业技能决定了一件事情能不能"做",那么职场软实力决定了一件事情能不能"成"。「职场系列」的内容源于我的真实经历及引发的思考,记录的是我关于职场软实力的思考和感悟。

  • (转) 创业公司生存的必需特质 Liao Jiayi Liao Jiayi #nothing#杂谈

    文章转自 joining-hypergrowth-startups。在阅读这篇文章后,对于文章中大部分内容的描述都深感赞同,并结合自身的一些经历,切身体会过,这些特质对于个人、团队、甚至一家公司的影响有多大。

  • 为什么我们需要数据湖? Liao Jiayi Liao Jiayi #Data Lake

    近两年,为什么都开始谈论起 Data Lake 这个"新名词"了?其实还是用户需求驱动数据服务,大家开始关注 Data Lake 的根本原因是用户需求发生了质变,过去的数据仓库模式以及涉及到的相关组件没有办法满足日益进步的用户需求。

  • 解决实时推荐场景下数据断流问题-单点恢复功能介绍 Liao Jiayi Liao Jiayi #Apache Flink

    本文摘自我在字节跳动技术公众号上发布的文章。在字节跳动的实时推荐场景中,我们使用 Flink 将用户特征与用户行为进行实时拼接,拼接后的实例会更新后端推荐模型,对用户的实时推荐产生影响。

  • 流式计算未来的发展趋势 Liao Jiayi Liao Jiayi #流式计算#streaming#Apache Flink

    受 SIGMOD 会议的论文 Beyond Analytics: The Evolution of Streaming Processing Systems 的启发,聊一下流式计算未来的趋势。

  • 推荐系统实践 学习笔记 Liao Jiayi Liao Jiayi #推荐系统#读书和碎碎念

    一本读了很长时间的书。

  • Flink 是如何统一批流引擎的? Liao Jiayi Liao Jiayi #Apache Flink

    2015 年,Flink 的作者就写了 Apache Flink: Stream and Batch Processing in a Single Engine 这篇论文。本文以这篇论文为引导,详细讲讲 Flink 内部是如何设计并实现批流一体的架构。

  • 苏世民-我的经验和教训 读书笔记 Liao Jiayi Liao Jiayi #苏世民#读书和碎碎念

    周末借着假期去了一趟广州,在这趟旅程中读完了这本书。这本书还是值得一看,有些类似传记类读物,但是在不同经历里,又讲述了主人公的思考和收获,还算是比较客观,读下来一定会有收获。

  • Flink - Network Buffer Liao Jiayi Liao Jiayi #Flink#network#Apache Flink

    Flink 中 Network Buffer 相关知识。

  • Hudi Liao Jiayi Liao Jiayi #Hudi#Data Lake

    自己关于 Apache Hudi 的一些简单的了解。Hudi 是 Uber 主导开发的开源数据湖框架。所以大部分的出发点都来源于 Uber 自身场景,比如司机数据和乘客数据通过订单 Id 来做 Join 等。

  • Flink StateBackend (4) - RocksDBStateBackend Liao Jiayi Liao Jiayi #Flink#StateBackend#Apache Flink StateBackend

    RocksDBStateBackend 是 Flink 中用来存储大状态的 StateBackend。

  • Flink StateBackend (3) - FsStateBackend Liao Jiayi Liao Jiayi #Flink#StateBackend#Apache Flink StateBackend

    FsStateBackend 可能是大部分公司里最常用的一种 StateBackend 了。

  • Flink StateBackend (2) - DefaultOperatorStateBackend Liao Jiayi Liao Jiayi #Flink#StateBackend#Apache Flink StateBackend

    DefaultOperatorStateBackend 是 StateBackend 中最基础,也是相对比较简单的组件。

  • Flink StateBackend (1) - Overview Liao Jiayi Liao Jiayi #Flink#StateBackend#Apache Flink StateBackend

    如果要说 Flink 作为一个流式计算引擎,有什么很 nb 的地方,我觉得 State / StateBackend 算是一个。

  • Ray - A Distributed Framework for Emerging AI Applications Liao Jiayi Liao Jiayi #Ray#未分类技术文章

    关于 Ray 的一些笔记和想法。2018 年开源的 Ray,从创始之初就被不少科技媒体所吹捧是 Spark 在未来的替代品。然而在 Ray 的 paper 中,明确指出了 Ray 是针对 Reinforcement Learning 的需求而设计。

  • Data Skew(数据倾斜) Liao Jiayi Liao Jiayi

    流式处理中常常会遇到Data Skew,常见的解决思路就是将数据以加盐的方式再一次打散,更大程度的分散到各个流中,然后分两次聚合,完成指标统计。

  • Calcite Paper Liao Jiayi Liao Jiayi

    最近在搭建一个SQL引擎,正好再次拜读了一下Calcite的paper(不得不吐槽一下calcite的相关资料确实有些少)。

  • 实时计算系列(3) - 规则引擎和 Flink CEP Liao Jiayi Liao Jiayi

    复杂事件处理(CEP),在企业内部实践中,又常被称作规则引擎。

  • Flink StateBackend - DefaultOperatorStateBackend Liao Jiayi Liao Jiayi #Flink#Apache Flink

    由于目前已实现的 StateBackend 只对 KeyedStateBackend 进行了重写,所有的 Operator State 都会采用 DefaultOperatorStateBackend 进行 snapshot。

  • Flink StateBackend - 概览 Liao Jiayi Liao Jiayi #Flink#Apache Flink

    此文讲述如何在 Flink 从 0 构建一个 State Backend。

  • Flink 和 HDFS 的交互 Liao Jiayi Liao Jiayi #Flink#Apache Flink

    了解 Flink 和 HDFS 之间的交互有助于我们理清 HDFS 可能会给 Flink 带来的问题。

  • Kryo (Class cannot be created (missing no-arg constructor)) Liao Jiayi Liao Jiayi #kryo#未分类技术文章

    Kryo 可以通过各种方式序列化没有继承 Serializable 的 Java 类,但是当反序列化有些对象时,如不支持无参构造函数的对象,会出现这样的错误。

  • Rpc In Flink Liao Jiayi Liao Jiayi #Apache Flink

    Apache Flink 在 Dispatcher、JobMaster、ResourceManager、TaskExecutor 几大组件之间采用 akka 进行通信。

  • Flink CEP Liao Jiayi Liao Jiayi #Apache Flink CEP

    关于我之前写的 CEP 博客,可以点击这里。由于之前写的相对来说比较粗糙一些,正好最近也要在线上分享 CEP 源码的课程,那么我顺便就从源码的角度,把我对 CEP 的一些理解写在这里。

  • 为什么不使用 RocksDB 做 StateBackend Liao Jiayi Liao Jiayi #Database#Apache Flink

    RocksDB 是目前最流行的轻量级嵌入式 KV 数据库,Flink 也基于 RocksDB 开发了 RocksDBStateBackend 来作大数据量下的状态存储。

  • 亚马逊领导力准则 Liao Jiayi Liao Jiayi

    这是我在极客时间买的第一个课程,在这里纯粹是当做笔记.

  • Flink网络栈中反压机制的优化 Liao Jiayi Liao Jiayi #Flink#Apache Flink

    之前总是听到别人说 Flink 本身的反压机制有多么优秀,直到自己真正在应用中碰巧踩到坑,仔细研究后才发现,这个反压机制貌似并不完美。

  • Disruptor Liao Jiayi Liao Jiayi #Disruptor#未分类技术文章

    Disruptor是2011年由LMAX提出的一个无锁消息队列,在短短45分钟的视频分享中,有很多的信息可以分享和深究。

  • Linux性能优化实战笔记 Liao Jiayi Liao Jiayi #Linux#Notes

    之前被推荐了极客时间的这个课程,想想也是蛮需要的,在这里记录一下自己对每节的总结和思考。

  • Flink - StreamTask With Mailbox Liao Jiayi Liao Jiayi #Flink#Apache Flink

    前两天看到Flink的dev邮件列表里有一个对StreamTask的重构,今天研读了一下,觉得Flink的开发者们在处理问题上,确实是有点大道至简的感觉。

  • Spark Streaming在轻量任务下出现的GC问题 Liao Jiayi Liao Jiayi #JVM

    一次Spark故障排查。这个任务的处理过程很简单,从Kafka接收数据,经过打标签的Operator,最后写入Hive。

  • SparkSQL写入Hive动态分区的优化 Liao Jiayi Liao Jiayi #Spark#Apache Spark

    实际业务中,我们通常会以时间作为分区来建立Hive表,然后在SparkSQL中以动态分区的形式插入,发现一个优化空间。

  • Influence Without Authority Liao Jiayi Liao Jiayi

    Influence Without Authority

  • Database(1) - 谈谈HBase的Transaction Liao Jiayi Liao Jiayi #Database#Transaction#HBase

    本文讨论 HBase 的 Transaction 机制。

  • 聊聊Apache Flink中的Watermark Liao Jiayi Liao Jiayi #Flink#Watermark#Apache Flink

    本文介绍 Apache Flink 中的 Watermark 机制。

  • Flink Schedule Mode Liao Jiayi Liao Jiayi #Flink#Apache Flink

    Apache Flink中对流式数据和批数据的资源调度模式是不一样的。这周的周更博客,由于有事情耽搁,想的一些东西并没有时间做足够的整理,所以写的话题和内容有些简单,仅做了解。

  • Flink Meetup - 基于Flink的实时用户行为分析 Liao Jiayi Liao Jiayi #Flink#meetup#Apache Flink

    这是我去年在Flink Meetup北京站的一次分享。主要分享了GrowingIO在实时模块上,技术栈从Spark到Flink的过程中所做的努力和收获的经验。

  • Aerospike(3) - Evict机制 Liao Jiayi Liao Jiayi

    在实时的场景中,我们往往会对Aerospike/Redis等设置evict机制,来防止流量暴增带来的存储系统崩溃。

  • CEP In Flink (4) - 使用瓶颈 Liao Jiayi Liao Jiayi

    本文描述了Apache Flink CEP模块中使用的一些瓶颈。

  • CEP In Flink (3) - 匹配事件提取 Liao Jiayi Liao Jiayi

    本文描述了Apache Flink CEP模块中匹配事件的提取过程。

  • 摄影图库分类及比较 Liao Jiayi Liao Jiayi #摄影#旅行摄影

    本文描述了500px/东方IC/站酷海洛等图库平台的基本信息。

  • CEP In Flink (2) - CEP规则匹配 Liao Jiayi Liao Jiayi

    本文描述了Apache Flink中对CEP规则匹配的原理

  • Spark - 利用WeakReference来清理对象 Liao Jiayi Liao Jiayi #JVM#Spark#Apache Spark

    最近在stackoverflow上看到有人好奇Spark是在什么时机对Accumulator或者Broadcast这样的变量进行回收的。自己在看源码的时候发现了这个有趣的地方。本文描述了在Spark ContextCleaner中利用WeakReference和referenceQueue来清理无效对象的机制和原理。

  • 仙本那 - Scuba Junkie - 跨年 + 考证 Liao Jiayi Liao Jiayi #潜水#旅行

    一次很开心的旅行,写成游记分享给大家!本文记录了自己在Scuba Junkie潜水和考证的一个经历。

  • CEP In Flink (1) - CEP规则解析 Liao Jiayi Liao Jiayi

    本文描述了Apache Flink中对CEP规则解析的原理

  • 潜水日志 Liao Jiayi Liao Jiayi

    只是想说,庆幸自己在刚潜水不久就犯了这个错误,而不是等到以后深度更大、环境更恶劣的时候出现。

  • 【译】在物联网中使用Apache Flink的7个原因 Liao Jiayi Liao Jiayi #IoT#Flink#Apache Flink

    本文译自Data Artisans博客,讲解了在物联网中使用Apache Flink的7个原因。

  • 【译】Flink - Savepoint vs Checkpoint Liao Jiayi Liao Jiayi #Flink#Checkpoint#Apache Flink

    本文译自Data Artisans博客,比较了Apache Flink中Savepoint和Checkpoint的异同点。

  • 如何在无Checkpoint时初始化Flink程序的状态? Liao Jiayi Liao Jiayi #Flink#Checkpoint#Apache Flink

    本文针对Apache Flink中Checkpoint/Savepoint无法从0恢复的缺点,给出了三种解决方案。

  • java.lang.OutOfMemoryError: Map failed Liao Jiayi Liao Jiayi #JVM

    本文记录了一次Map Failed导致的一次JVM OOM故障,给出了原因以及解决办法。

  • Oracle SQL - CEP语法梳理 Liao Jiayi Liao Jiayi #SQL#Apache Flink CEP

    实时处理中自然少不了CEP这个重量级功能。其实已经有不少成熟的框架实现了CEP,如Github siddhi和EsperTech,但他们使用了特有的语法来做到开发者的友好交互。那么,把CEP的功能加入到万能的SQL中,是不是很有意思呢?

  • SQL解析框架 - Calcite Liao Jiayi Liao Jiayi

    最通用的SQL解析框架 - Calcite

  • Bitmap - 性能和原理研究 Liao Jiayi Liao Jiayi

    本文基于论文描述了多种bitmap的行程原理,以及现在应用最广泛的RoaringBitmap的源码解析和性能优化

  • Table In Flink Liao Jiayi Liao Jiayi #Flink#Apache Flink

    之前没有使用过 Table 相关的 API,在这稍微做下记录。

  • Aerospike(2) - 写机制 Liao Jiayi Liao Jiayi

    本文描述了Aerospike的写机制以及其中存在的问题

  • hs_err_pid.log - 详解 Liao Jiayi Liao Jiayi #Memory#Linux#JVM

    JVM 错误日志 hs_err_pid.log 详解,包括内存不足、Native memory allocation 失败等问题的原因和解决方案。

  • Aerospike(1) - Introduction Liao Jiayi Liao Jiayi

    本文描述了Aerospike的应用场景,数据模型,索引等基本原理,并基于Aerospike的优缺点做出了选型建议

  • Flink - Exactly Once Liao Jiayi Liao Jiayi #Flink#Exactly-once#Apache Flink

    本文介绍 Flink 中的 Exactly Once 语义。

  • 排序算法 Liao Jiayi Liao Jiayi #Algorithm#编程基础

    排序很基础,但是不同的排序算法所使用的思想不一样,还是很值得借鉴学习的。为了给自己巩固一下,手码一遍所有简单排序的代码。

  • 编程基础 Liao Jiayi Liao Jiayi #Algorithm#编程基础

    一些平时不常接触但是很重要的基础知识。

  • Leetcode Liao Jiayi Liao Jiayi #programming#编程基础

    Leetcode 题目解答记录。