- 博客(33)
- 收藏
- 关注
原创 揭秘Fluss核心功能 - 底层存储和查询
上面的内容通过一个具体数据的例子,简单梳理了 Fluss 的底层存储和数据查询、更新的过程。后面的文章会陆续更新 Fluss 的文章,让大家对 Fluss 这个后起之秀有更直观的认识,最后欢迎大家关注"大圣数据星球"微信公众号,一起来讨论大数据技术。本文由博客一文多发平台OpenWrite发布!
2025-01-19 15:40:48
977
原创 揭秘Fluss核心功能 - Delta Join
下一篇文章会详细说一下为什么 Fluss 通过这样的点查会如此高效,会深入 Fluss 底层存储来说清楚查询和更新的流程。最后欢迎大家关注微信公众号 大圣数据星球 来讨论大数据技术。本文由博客一文多发平台OpenWrite发布!
2025-01-19 15:37:02
629
原创 Fluss 与数据湖的深度解析(二)
这篇文章讲了 Fluss 和 Paiom 数据湖的事务和 Fluss 一些设计原理,能让大家对 Fluss 从设计理念到实现细节上面都有了一个全面的认识。我讲的这些知识点和细节小伙伴在官网或者其他地方都是看不到的,欢迎大家一起来讨论大数据技术,同时我也给大家整理了 2024 年 最新的大厂Java、大数据、大模型等相关内容的面试题,欢迎大家来取。关注微信公众号 大圣数据星球 带你搞定数据开发不迷路。本文由博客一文多发平台OpenWrite发布!
2025-01-02 14:59:49
956
原创 揭秘:Fluss 与数据湖Paimon深度解析(一)
写到这里,我又有了一个疑问,它这个查询最终查询了 Paimon 和 Fluss 两个系统,那怎么保证事务的呢?这个我们放在下一篇文章来说。还有这篇文章的第三个问题,也会放在下一篇文章继续说清楚的。欢迎大家一起来讨论大数据技术,关注 大圣数据星球 微信公众号带你搞定数据开发不迷路。本文由博客一文多发平台OpenWrite发布!
2025-01-01 15:58:24
899
1
原创 揭秘 Fluss 架构组件
这篇文章说了Fluss 架构中的服务组件的职能和工作流程,后面会对 Fluss 查询数据湖和本地数据合并部分做讲解。欢迎大家关注 "大圣数据星球"一起来讨论大数据技术。本文由博客一文多发平台OpenWrite发布!
2024-12-27 22:51:07
1414
原创 揭秘Fluss 与 Kafka、Paimon 的区别与联系
上面列举了一些Kafka 在大数据分析领域目前可能存在的劣势,但是不是说 Fluss 就能代替 Kafka ,这显然是不现实的。Kafka 的超高性能,系统解耦,稳定度,社区活跃度等这些都是非常好的,只能说每个服务组件都有自己的应用的场景。这篇文章也只是站在大数据分析场景中讨论 Fluss、Kafka、Paimon 的一些特点。后面会给大家更新 Fluss 的数据查询方面的知识,欢迎大家一起来讨论。本文由博客一文多发平台OpenWrite发布!
2024-12-26 22:37:21
1151
原创 Fluss 写入数据湖实战
注意上面的数据写入数据湖和从数据湖里面读取数据,只是说明了 Fluss 跑通了这个流程,具体数据的准确性,每种查询方式的作用等我会在后续的文章里面逐步讲解的,在这里大家可以了解到 Fluss 简单的数据写入数据湖的流程,就是当我们建表的时候通过这个参数来说明这个表为数据湖表,然后当我们写入数据的时候 Fluss 就会利用之前启动的 Compaction Service 服务把数据写入到我们配置的数据湖里面。最后欢迎大家一起来讨论大数据技术,一起进步!本文由博客一文多发平台OpenWrite发布!
2024-12-22 17:25:11
1191
原创 揭秘 Fluss:下一代流存储,带你走在实时分析的前沿(一)
最近 Flink Forward Asia 2024 上海 开始之后,大数据圈子里面就特别热闹,流式湖仓、流批一体、Data + AI 各个名词被不断提起。这些概念几年前就有了,不是一个新的概念。但是大会里面提出了 Fluss:面向实时分析设计的下一代流存储,这个设计理念让人有种眼前一亮,但是又听的云里雾里。今天我们就对 Fluss 进行探讨一下,揭开这个组件的神秘面纱。
2024-12-21 20:20:37
874
原创 透过生活小故事,轻松理解大模型开发的五种核心方法
人工智能的世界听起来复杂神秘,但其实它与我们的日常生活有着许多相似之处。即使你对大模型开发一无所知,也能通过生活中的简单故事,理解其中的奥秘。本文将以贴近生活的五个场景,通俗易懂地讲解大模型开发中的五种核心方法:提示词工程和外部函数、Agent设计、RAG设计(检索增强生成)、微调以及预训练。让我们一同走进这些故事,揭开大模型背后的设计理念和本质区别。提示词工程和外部函数:就像我们在需要特定信息时,通过明确的提问,获取专业的答案。Agent设计:类似于智能应用自动为我们处理复杂的事务,节省时间和精力。
2024-09-23 19:58:26
782
原创 消失的数去哪里了
其中有些人会有疑惑,学数据开发为什么要学把 Java 学的这么深入,个人觉得其实数据开发就是 Java 的高阶版本。如果你没有扎实的 Java 基础,是不能把数据开发中那些分布式框架学习明白的,当然了,如果你只想单纯的做 sql boy ,我觉得这个确实可以不用学习 Java 一些知识。
2024-09-15 19:46:13
498
原创 图解JVM:浅显易懂的深浅拷贝与Java引用类型解析
这是最常见的引用类型。如果一个对象具有强引用,那么它永远不会被垃圾回收器回收,只要这个强引用还存在。软引用是一种比强引用更弱的引用类型。它允许对象在内存足够的情况下保留,但在JVM内存不足时,这些对象可能被垃圾回收器回收。软引用通常用于实现内存敏感的缓存。弱引用是一种引用类型,它不阻止其所指向的对象被垃圾回收器回收。一个对象只要被弱引用指向,并且没有其他强引用指向它,那么这个对象就可能在下一次垃圾回收时被销毁。虚引用是一种完全不影响其所引用对象生命周期的引用类型。即使持有虚引用,垃圾回收器仍然会回收该对象。
2024-01-14 20:28:18
941
原创 Java对象生命周期全解析:JVM内存的奥秘
比如先刚创建出来的对象最开始大多数在在年轻代的 Eden 区,然后随着 Eden 区内存快满了,这个时候会触发Minor GC,然后 Eden 区会有一部分的对象会被回收掉,没有回收掉的对象就会移动到 Survivor 区域的 S0 区。然后随着Survivor 区域的 S0 区的内存也快满的时候,这个时候S0 区也会进行内存回收,这个时候没有被回收的 Java 对象就会被移动的Survivor 区域的 S1 区,这样一直进行来回移动。最终,那些老旧的公交车被彻底报废,它们的部件可能被回收再利用。
2024-01-13 21:18:43
550
原创 深入探索JVM:理解Java程序在虚拟机中的存储和管理
在方法区中,JVMExample 类的信息被存储,这包括了类的名称 JVMExample、它的父类(在 Java 中默认为 Object 类,除非另有指定)、类中定义的方法(如 main、instanceMethod、staticMethod)、以及类的变量(如实例变量 instanceVariable 和静态变量 staticVariable)。在堆内存中,对象和数组不仅仅是存储它们自身的数据(例如字段值),还包括一些额外的信息,如对象的类信息、对象的监视器(用于同步)等。
2024-01-13 21:09:31
958
原创 图解JVM系列:揭秘运行时数据区的设计与实现
这篇文章主要就讲了运行时数据区的设计理念,就是这个东西它到底是怎么出现的,它是参考我们的物理计算机来设计的。提起物理计算机设计我们都知道冯·诺依曼结构,然后我根据冯·诺依曼结构推出了我们JVM 运行时数据区的各个部分。这样以后再说JVM 运行时数据区的时候,大家就不用死记硬背了,可以按照这种设计理念去理解记忆,一直都不会忘记的。
2023-12-03 21:26:39
122
原创 Java虚拟机深入探索:类加载器与双亲委派模型解析
JVM在类加载的时候,会通过类加载器(Class Loaders)加载你的Java类。这包括应用程序的类和Java API的类。类加载器首先读取.class文件。这是由Java开发者根据自己的特定需求创建的类加载器。它通常继承自ClassLoader类。用户自定义类加载器可以用于加载特定来源(如网络、文件系统中不常规位置等)的类,或者实现特殊的类加载策略(如热部署、加密解密类加载等)。
2023-12-03 21:23:08
82
原创 图解JVM系列-JVM入门指南:基础、转换流程
JVM 可以说是 Java 工程师和大数据工程师必须掌握的一个技能。因为 Java 代码是跑在 JVM 平台上面的,如果你写的代码在 JVM 运行的时候出现内存溢出或者GC 严重的时候,这个时候就需要你对 JVM 有一定的了解了。大数据方向的话,Spark、Flink 的内存模型都是在 JVM 模型上进行了二次改造,而且基本上现在大数据主流的框架底层都是 Java 编写的,也是跑在 JVM 上面的,在对这些框架调优的时候 JVM 也是避不开的一个知识。
2023-12-03 21:11:28
114
原创 深入Flink : 源码解读数据倾斜代码落地
这段代码的设计理念是确保每个并行度上面都分配一个唯一的key,确保均衡的key分配,从而实现均衡的数据分布。这篇文章把我们的优化方案给落地了,也让大家看到了优化的效果。但是其中有一些点我还是没有讲清楚,我后面时间彻底把这个知识点给理解透彻,然后单独给大家写一篇文章来说,希望大家见谅。大家想要上面代码,在本地测试的。还有就是上面我肯定有讲的不清晰的地方,欢迎大家一起来讨论,可以关注微信公众号:大圣数据星球 进群讨论。本文由博客一文多发平台。
2023-11-07 22:51:40
137
原创 深入Flink:源码解读数据倾斜最佳实践
当我们使用 keyBy 算子指定 key 的时候,底层是用你指定的 key ,然后去计算这个key 所对应的 keyGroupId,然后再利用 keyGroupId 来计算这个 key 被分配到哪个并行子任务上面。关键的就是下面这两行代码。在这种分配机制的情况下,如果某个 key 的数据量特别大的话,可能就会出现数据倾斜。maxParallel: 计算可能的最大并行性。这是所有subtask的最大数量。maxKey: 定义了key的最大范围,它是默认并行性与12的乘积。
2023-11-07 22:38:10
257
原创 Flink keyBy 算子源码与设计理念分析
这篇文章我们对 keyBy 源码进行了分析,也教了大家怎么去调试 keyBy 算子的源码,大家可以去尝试一下。另外也对 keyBy 算子的源码设计理念进行了分析,我敢说这是全网第一家可以把 keyBy 算子说的这么透彻的。其实 keyBy 算子还有很多东西,比如如何避免数据倾斜等,后面也会说的,还有模板代码提供给大家避免数据倾斜。最后欢迎大家一起来讨论,可以关注微信公众号:大圣数据星球 进群讨论。本文由博客一文多发平台OpenWrite发布!
2023-11-07 22:27:53
314
原创 探究 Flink 框架底层(一)
有人又提出疑问说,当 Flink 通过 keyBy 算子,进行 Shuffle 的时候,这种情况也不会出现数据竞争吗?答案是不会的。下篇文章咱们继续说为什么不会,也会对 keyBy 源码以及设计理念进行深层次分析,全是干货。另外之前的文章说会更新 Flink Sink HDFS 源码分析的,但是这一篇没有说,这是因为说 Flink Sink HDFS 的时候会用到今天说的内容,所以我就想提前写这一篇做个铺垫。最后欢迎大家一起来讨论,可以关注微信公众号:大圣数据星球 进群讨论。
2023-10-19 23:12:32
63
原创 并发编程之MVCC:守护数据的魔法
MVCC (Multi-Version Concurrency Control) 是一种用于控制多个并发事务访问数据库中同一条记录时的并发控制方法。它通过为每个事务提供该记录的一个“快照”来避免其他事务所作的修改,从而使每个事务都在它的私有快照上工作。这样,多个事务可以同时读取相同的记录,而无需等待其它事务完成。MVCC 的目标是提高并发性能,特别是在只读事务中,而不是通过使用锁和阻塞来解决并发冲突。
2023-10-14 12:21:52
80
原创 多线程、异步编程、并发读写 新认识
多线程是一种允许单个程序创建多个并行执行流(线程)的技术。这些线程可以并发执行,每个线程都有自己的一套寄存器、程序计数器和栈,但它们会共享同一进程中的其他资源,如代码、数据和文件。现代操作系统和多核 CPU 使得真正的线程并行执行成为可能,这意味着多个线程可以在不同的 CPU 核上同时执行。对于单核 CPU,操作系统通过时间片切换技术使得各个线程轮流执行,给人一种“并行”的错觉。异步编程是一种程序设计方法,它允许任务能够独立于主程序运行,这意味着您可以继续执行其他任务,而不必等待该任务完成。
2023-10-06 21:38:04
149
原创 并发、并行、高并发 新认识
"高并发"是一个计算机科学和网络技术领域的术语,指的是在一个时间段内,系统能够处理的并发任务的数量很大。在许多情况下,这是指系统能够同时服务于多个用户或连接。它是一个重要的指标,因为它可以衡量系统的负载能力和稳定性。看到上面这样的专业解释,我想大家可能觉得这说的什么阿,大家别着急,我用下面一个例子给大家解释一下上面这段话是什么意思。想象一下一个非常受欢迎的快餐店。在普通的中午时段,这个快餐店可能有10个点餐窗口,并且每个窗口都有顾客在点餐。
2023-10-02 11:05:07
270
原创 Flink Sink Kafka 和 Flink 端到端一致性建议
通俗的理解是指在一个分布式流处理系统中,从数据源(source)到数据结果(sink),整个处理过程能够保证数据的完整性和准确性,即使在面对各种故障(如节点宕机等)的情况下也是如此。以上就是今天说的 Flink Sink Kafka 和 Flink 端到端一致性的一些平时容易被忽略的点,希望对大家可以有帮助,有不同意见的,欢迎大家加我微信,大家一起讨论。当我们使用 Flink Sink Kafka 的时候,如果没有指定进入 Kafka 的 key 的话,你觉得数据会根据什么样的策略选择分区呢?
2023-09-17 22:13:59
159
原创 浅谈我对 ChatGPT & AI 的一些使用,理解
下面来说说我对 ChatGPT & AI 的看法,我个人觉得后面 AI + 传统行业是未来几年的一个大的趋势,虽然我国现在在封 ChatGPT 的使用,但是封不了的,等待时间成熟,还是会开放的。因为好的东西你是封不住的。因为我在互联网这个行业,之前也是在北京,接触的信息都比较新,现在在国外接触到的也是,就是这一次的 AI 变革是不可避免的,只是时间问题。现在国内几个大厂也在开发和 ChatGPT 类似的产品,像百度的 文心一言,阿里的通义千问,华为的盘古,京东的 ChatDJ,商汤科技的名曰商量。
2023-04-15 22:53:52
131
原创 Flink 基础知识 - 时间、窗口、水位线
大家好,我是大圣。最近在整理 Flink 方面的知识点,今天更新一遍 Flink 的基础的知识点,让大家对 Flink 的 时间、窗口、水位线 有一个基本的认识,然后下一篇文章会从源码的角度来解析 Flink 在 时间、窗口、水位线 底层是怎么实现的。话不多说,直接上今天的大纲主题:图片时间Flink 中 定义了 3 种 时间类型:事件时间(Event Time)、处理时间(Processing Time)和摄取时间(Ingestion Time)。下面画张图来解释一下 3 种 时间类型.
2022-05-27 23:10:16
678
原创 体验了一把当架构师的感觉
大家好,我是大圣。最近公司数据方面的需求变得更多元化了,导致原有的大数据架构满足不了公司现有的需求。领导准备升级公司的大数据平台架构,然后他把这个任务交给了我,接到这个这个任务之后,我和领导简单对接过后,也开始调研了起来。经过十多天的努力,终于把公司的大数据平台架构给确定了下来,完成了服务器资源的评估,同时这也是自己第一次以架构师的身份去建设大数据平台,所以在这里就想给总结一下,分享给身边的小伙伴,希望对你们有帮助。话不多说,下面是这篇文章的大纲梳理现有的数据现在有的数据主要包括以下几个部分:
2022-02-27 21:45:21
180
原创 体验了一把当架构师的感觉
大家好,我是大圣。最近公司数据方面的需求变得更多元化了,导致原有的大数据架构满足不了公司现有的需求。领导准备升级公司的大数据平台架构,然后他把这个任务交给了我,接到这个这个任务之后,我和领导简单对接过后,也开始调研了起来。经过十多天的努力,终于把公司的大数据平台架构给确定了下来,完成了服务器资源的评估,同时这也是自己第一次以架构师的身份去建设大数据平台,所以在这里就想给总结一下,分享给身边的小伙伴,希望对你们有帮助。话不多说,下面是这篇文章的大纲梳理现有的数据现在有的数据主要包括以下几个部分:
2022-02-27 21:41:24
1903
原创 让你也体验一把当黑客的感觉:复现了log4j2的漏洞
大家好,我叫大圣。这几天Apache Log4j2 远程代码执行漏洞一出,让广大的程序员和运维人员夜不能寐,由于我们公司的Flink业务代码也用到了Log4j2日志,我也抓紧去了解了一下,然后采取了相应的补救措施。但是一直想对这个Log4j2 远程执行漏洞进行复现一下,是不是真的像网上说的那样严重,然后经过学习复现了这个log4j的bug。本篇文章主要讲怎么复现这个log4j的远程执行bug,关于怎么基于这个log4j的漏洞去采取补救措施,网上说了很多了,这里就不再说了,下面我们直接步入正题。首先咱们
2021-12-11 20:09:02
1760
原创 Flink State 又认识
大家好,我叫大圣。上周没有及时更新 Flink 状态的文章,原因是我有点懒了,上周末放了一天假就想躺平,然后我就和我的手机过了一天。以后请小伙伴们监督,一定按时更新文章。话不多说,咱们进入今天的主题内容。先来简单回顾一下,上一次的文章我们说了Flink 状态的基本概念,分类,以及KeyState的使用等。也就是上图Flink State 提纲中的 Flink State 初探、Flink State 的类别、Flink KeyState、Operator State这四个方面的知识,如果有小伙伴对上面
2021-12-05 21:49:00
434
原创 Flink State 初认识
大家好,我是大圣。最近工作中使用Flink 状态比较多,但是遇到了各种各样的问题,比如应该什么时候使用KeyedState,什么时候应该使用Operator State,还有StateTTL过期的问题。趁着周末有时间,就把Flink 状态给总结一下。Flink 状态初探熟悉Flink框架的小伙伴都知道Flink是一个实时流处理计算引擎,什么是流处理呢?我们来举个生活中的案例,大圣小时候在河边长大,坐船上学的时候经常看到水流从上流不停的往下流,而且是不会停止流动的。对比到Flink是一个实时流处理来说
2021-12-05 21:41:56
3135
原创 利用工厂设计模式合并多个Flink Job
大家好,我是大圣最近大圣在工作中遇到这样一个数据开发的需求,就是监控用户在某个产品的哪几个界面发生的用户行为,其实简单来说就是计算用户在我们这个产品的某些界面的PV/UV,以及用户前一个操作界面和后面一个操作界面之间的行为数据。我的思路是和前端埋点人员约定好这几个界面的事件点击类型,然后利用Flink框架从Kafka里面实时消费数据,针对每一个事件点击类型去编写一个Flink Job,接着在具体的Flink Job里面去实现要监控用户的行为指标。思路如下图:这个方案是确实可以的,我就是这样实现的,最
2021-12-05 20:55:24
1113
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人