- 博客(30)
- 收藏
- 关注
原创 基于 Flink SQL CDC 的实时数据同步方案
Flink 1.11引入的Flink SQL CDC技术为解决传统数据同步问题提供了新方案。文章对比了传统双写方案与CDC方案,指出CDC能解耦业务系统,确保数据一致性。基于日志的CDC具有捕获完整变更、低延迟、无业务入侵等优势。Flink CDC Connectors可直接读取数据库全量和增量数据,实现采集-计算-传输一体化,简化架构并降低成本。文章通过电商订单同步、GMV统计等案例展示了应用场景,并介绍了基于CDC的维表关联等未来规划。Flink SQL CDC为实时数据同步、物化视图、多机房备份等场景
2025-06-12 09:52:41
492
原创 史上最全Flink面试题(完整版)
Flink是一个分布式流处理框架,支持对有界和无界数据流进行状态计算。其核心特点包括流批一体化、事件驱动模型、高性能低延迟、容错机制和灵活编程模型。Flink采用Source→Transformation→Sink的编程模型,运行架构包含JobManager、TaskManager和Client三种角色。 Flink提供多种时间语义(事件时间、注入时间、处理时间)和窗口类型(滚动、滑动、会话窗口),并引入Watermark机制处理乱序数据。其容错机制基于Checkpoint和State实现,支持Exactl
2025-06-12 09:48:18
421
原创 一文带你入门Flink
Flink作为新一代流批统一的大数据计算引擎,具备分布式处理能力,支持多种部署模式和API抽象。文章详细剖析了Flink的核心架构,包括其部署方式(Local/Standalone/YARN/K8s)、运行时组件(JobManager/TaskManager)和多层API(DataStream/DataSet/Table/SQL)。重点介绍了Flink的关键特性:多种时间语义、灵活的窗口机制、状态存储、容错机制和自主内存管理。通过对比不同计算引擎发展历程,强调Flink在处理无界流数据和有界批数据上的优势,
2025-06-12 09:46:34
651
原创 史上最全Hive面试题(10w字完整版)
本文系统梳理了Hive的核心知识点,涵盖以下内容: 执行引擎对比:详细解析Hive on MR与SparkSQL的执行流程差异,MR基于磁盘计算,Spark基于内存计算,速度更快但可能内存溢出。 元数据管理:支持Derby内存数据库和MySQL持久化存储,强调元数据重要性。 表类型与优化:区分内部表(管理数据)和外部表(仅管理元数据),推荐生产环境使用外部表避免误删数据;提出分区+分桶的优化策略。 性能调优:包括数据倾斜处理(空值随机化、MapJoin)、小文件合并(concatenate命令、参数调整)、
2025-06-11 18:19:09
483
原创 Hive面试题汇总
Hive是大数据领域常用的数据仓库工具,具有以下特点:1)数据存储在HDFS上,元数据可存储在MySQL等数据库中;2)擅长处理PB级数据但不支持行级更新;3)提供内部表(删除表同时删除数据)和外部表(仅删除元数据)两种表类型。Hive常用操作包括排序(SortBy/OrderBy)、分组(DistributeBy/ClusterBy)及各类转换函数(行转列CONCAT、列转行EXPLODE等)。当内置函数不足时,可通过UDF(一进一出)、UDAF(多进一出)和UDTF(一进多出)进行扩展。针对数据倾斜问题
2025-06-11 18:16:14
381
原创 计算机网络面试汇总(完整版)
为什么不能是两次?为了防止服务器端开启一些无用的连接增加服务器开销防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。由于网络传输是有延时的(要通过网络光纤和各种中间代理服务器),在传输的过程中,比如客户端发起了 SYN=1 的第一次握手。如果服务器端就直接创建了这个连接并返回包含 SYN、ACK 和 Seq 等内容的数据包给客户端,这个数据包因为网络传输的原因丢失了,丢失之后客户端就一直没有接收到服务器返回的数据包。
2025-06-10 19:19:29
800
原创 计算机网络原理超详解说
大家好,这次给大家分享计算机网络原理的相关知识,我自认为文章内容已经很通俗易懂了,祝您阅读愉快!时代不同了,大家现在生活都好了,家家户户基本都有电脑,而且我们都习惯了使用电脑办公,打打游戏,聊聊天等等。那我们一起来想一个场景:如果没有了网络,我们是不是就不能使用电脑进行聊天了呀。那网络到底是如何帮助我们来完成网络聊天的?下面我就跟大家聊聊计算机网络到底是怎么回事儿。了解我的读者都知道,我习惯先用自己的语言解释,后说官方定义。
2025-06-10 19:15:36
598
原创 用纯.NET开发并制作一个智能桌面机器人(五):使用.NET为树莓派开发Wifi配网功能
摘要:本文介绍了一种基于.NET技术的树莓派WiFi配网方案,解决了机器人进入新环境时网络配置不便的问题。方案采用分层架构设计,核心是利用NetworkManager服务实现AP热点创建和WiFi连接切换,结合Web界面和二维码技术提供友好的配网体验。文章详细讲解了技术原理、代码实现(包括网络管理、Web界面和二维码生成)以及部署方法,并分享了通过大模型辅助开发的经验。该方案展现了.NET在IoT领域的应用潜力,为嵌入式开发者提供了高效便捷的网络配置解决方案。项目代码已开源,可供开发者参考使用。
2025-06-10 19:13:27
910
原创 超火的开源项目(Github热点)
摘要:本周热门开源项目亮点频出。Memvid创新地将MP4文件转化为AI记忆库,支持语义搜索;Google开源的gallery让手机离线体验AI模型;ChinaTextbook提供免费教材资源,5年维护获3万Star。其他项目包括:生成SBOM的syft、极简项目管理工具PLANKA、智能体记忆引擎cognee,以及React动效组件库uilayouts。这些工具覆盖AI应用、教育资源和开发效率提升等多个领域。
2025-06-10 19:11:08
618
原创 Spark Shuffle
摘要:Spark Shuffle是实现数据重新分布的关键过程,分为ShuffleMapStage和ResultStage两个阶段。其核心机制包括ShuffleWrite和ShuffleRead,前者将数据写入BlockManager并上报元信息,后者根据元信息拉取数据。Spark提供HashShuffle和SortShuffle两种实现:HashShuffle有未经优化(产生M*R个文件)和优化版本(文件合并);SortShuffle则通过内存排序和磁盘溢写减少文件数量,包含普通模式和bypass模式。
2025-06-09 20:32:25
1379
原创 Apache Doris基本使用和数据模型(1)
文章摘要 核心原理:采用分治策略,通过选取基准元素将数组划分为两个子序列,递归实现排序 关键步骤: 基准选取(示例取首元素) 划分操作:左子序列元素均小于基准,右子序列元素大于等于基准 递归处理子序列 复杂度分析: 平均时间复杂度:$O(n \log n)$ 最坏情况:$O(n^2)$(可通过优化基准选择避免) 代码特征: 使用列表推导式实现元素筛选 通过递归调用
2025-06-09 20:29:44
670
原创 Spark面试精讲(上)
本文总结了Spark面试中的常见问题及解答,涵盖核心概念、数据处理、容错机制、集群部署等多个方面。主要内容包括:1) Spark消费Kafka时保证消息顺序的机制;2) 数据倾斜问题的多种解决方案;3) Spark Shuffle过程和工作原理;4) RDD、DAG、Stage的理解;5) Yarn集群部署模式的区别;6) Spark相比Hadoop的性能优势;7) 宽窄依赖的概念及应用;8) 容错机制和检查点原理;9) Spark Streaming小文件问题的处理方法。文章还对比了Spark与Storm
2025-06-09 20:25:01
1369
原创 Spark 之 入门讲解详细版(1)
Spark是由加州大学伯克利分校AMP实验室开发的通用内存并行计算框架,2013年成为Apache顶级项目。相比Hadoop,Spark通过内存计算和弹性分布式数据集(RDD)显著提升了迭代运算效率,支持更丰富的操作类型。其生态系统BDAS包含Spark SQL、Spark Streaming、MLlib等多个组件,能够一站式解决批处理、交互查询和实时流处理需求。腾讯、Yahoo、淘宝等企业已成功应用Spark于广告推荐、日志分析等场景。Spark的主要优势包括:运行速度比Hadoop快10-100倍;支持
2025-06-05 21:10:03
886
原创 Spark streaming+Kafka
本文总结了Spark Streaming与Kafka集成的两种方式(Receiver方式与Direct方式)及其特点,重点介绍了Direct方式的优势:简化并行、高效存储和精确一次消费。文章详细阐述了如何通过KafkaManager实现offset管理,以及优化Spark向Kafka写入数据的方法。在WeTest舆情监控项目中,该方案成功应用于千万级游戏评论的实时词频统计。最后从批处理时间、Kafka拉取量、缓存、GC、并行度等维度提出了优化建议,展示了稳定运行的监控指标。为大规模流数据处理提供了实践参考。
2025-06-05 21:05:58
762
原创 Spark Shuffle详解
摘要: Shuffle是连接Map和Reduce任务的关键过程,影响分布式计算的性能与吞吐量。在Hadoop和Spark中,Shuffle分为Map端的Shuffle Write和Reduce端的Shuffle Read。Spark的Shuffle历经优化,从HashShuffleManager(产生大量小文件,易OOM)发展为默认的SortShuffleManager,通过合并临时文件减少磁盘I/O。HashShuffle分为普通机制(文件数=Map数×Reduce数)和合并机制(文件数=核心数×Redu
2025-06-05 21:02:48
912
原创 大数据面试汇总+答案
本文整理了一份大数据领域高频面试题集锦,涵盖Hadoop、Kafka、Hive、Spark、Flink等主流技术框架。从基础配置到核心原理,从性能优化到故障处理,共100个典型问题,包括:HDFS读写流程、Yarn调度机制、Kafka高可用保障、Spark数据倾斜解决方案、Flink精准一次消费实现等。每个问题均提供简明解答,帮助开发者快速掌握大厂面试核心知识点,适合准备互联网大厂大数据岗位面试的求职者参考学习。
2025-06-05 15:22:22
894
原创 Spark SQL 详解
基于上述的两点,从 Spark 1.6 开始出现 DataSet,作为 DataFrame API 的一个扩展,是一个强类型的特定领域的对象,这种对象可以函数式或者关系操作并行地转换,结合了 RDD 和 DataFrame 的优点,至 Spark 2.0 中将 DataFrame 与 DataSet 合并。Spark SQL 的核心是一个叫做 Catalyst 的查询编译器,它将用户程序中的 SQL/DataFrame/Dataset 经过一系列的操作,最终转化为 Spark 系统中执行的 RDD。
2025-06-05 15:13:49
760
原创 三学Hive之收获
所谓分组聚合是通过将数据按照特定的列进行分组,可以对每个组内的数据进行聚合计算,并得到每个组的汇总结果。通过将数据分组并进行聚合计算,可以得到每个分组的摘要信息,从而更好地了解数据的分布和关系。分组计算:对于每个分组,如果在 SELECT 子句中使用了聚合函数,那么 SQL 查询会对指定的列进行聚合计算,例如求和、平均值等。
2023-11-30 19:33:05
819
原创 编程中常见的技术难题及解决方法
然而,通过运用适当的方法和工具,我们可以解决这些难题,并不断提升自己的编程能力。关键是保持学习的态度、培养解决问题的能力,并利用开源社区的资源。复杂逻辑和架构设计:在大型软件项目中,复杂的逻辑和架构设计是一个常见的技术难题。通过编程,我们可以开发新的应用程序、设计新的算法、构建新的系统,从而推动科技的发展和社会的进步。学习和借鉴开源社区:开源社区是一个宝贵的资源,里面有许多经验丰富的开发者和解决方案。学习和应用优化技巧:了解常见的性能优化技巧,如算法改进、数据结构优化、缓存利用等,可以提高程序的执行效率。
2023-11-28 18:49:31
820
原创 理解和学习事务,让你更好地融入云原生时代
为了解决上面的单点问题和 准备阶段的性能问题,引入3PC协议 将准备阶段扩展为: CanCommit询问阶段 这个阶段就是为了确认各机器是否还是正常的,如果经过确认都是正常负载的状态,再下发事务操作,这样就能避免被网络超时、不良负载拖累的风险。随着云原生的概念越来越火,服务的架构应该如何发展和演进,成为很多程序员关心的话题。TCC中的缺点在于 try阶段和cancel阶段依赖用户代码实现,但如果你的业务不支持这种操作就麻烦了,比如扣款动作是某个银行做的, 他不支持预扣款的功能。
2023-11-28 18:44:30
97
原创 回溯算法-Java版本(分割字符串详解)
好的代码都是修改出来的。代码优化部分,第一点:就是在判断回文串的过程可以进行优化,可以选择更高效的判断方式,或者使用动态规划提前将所有结果判断出来,在需要使用的过程中直接进行查询使用即可切割问题可以抽象为组合问题如何模拟那些切割线切割问题中递归如何终止在递归循环中如何截取子串如何判断回文关于模拟切割线,其实就是index是上一层已经确定了的分割线,i是这一层试图寻找的新分割线。
2023-11-21 18:11:42
122
原创 Java题解-回溯算法(附力扣题目详解)
所谓回溯算法,又称为“试探法”。解决问题时,每进行一步,都是抱着试试看的态度,如果发现当前选择并不是最好的,或者这么走下去肯定达不到目标,立刻做回退操作重新选择。这种走不通就回退再走的方法就是回溯算法。以深度优先的方式系统地搜索问题的解的方法称为回溯法回溯算法是深度优先策略的典型应用,回溯算法就是沿着一条路向下走,如果此路不通了,则回溯到上一个分岔路,再选一条路走,一直这样递归下去,直到遍历完所有的路径。回溯算法的解空间结构可以组成成子集树(0-1背包问题、全排列)、排列树。
2023-11-20 21:25:49
308
原创 Hadoop集群搭建-完整版
本文主要结束Hadoop集群的各个配置文件,以及搭建hadoop集群的环境准备等工作,期中包括免密登录,域名映射,时间同步等等,并且博主也指出在进行集群搭建过程中常常发生的问题,以帮助大家共同学习,进步。
2023-11-20 20:56:49
674
1
原创 解决使用Pyspark进行读取HDFS上的文件时的报错
求人不如求己。无论学习还是生活,在遇到Bug和问题的时候,我们总是习惯的去寻找帮助,却少有静下心来,自己尝试去解决。比如,我写代码遇到问题总是第一时间百度,却少有去分析报错原因,只想着赶紧解决这个Bug。但今天来看,网上的文章几乎抄来抄去(当然高质量的文章仍然不少),不如自己去认真反思一下Bug或者问题的原因来一步步的去思考,去尝试,最终解决。独立解决问题的能力十分重要!学习不能一味一知半解。有时候,你可能会觉得你在课堂上或书本上学到的知识无法应用到实际项目中。
2023-11-12 20:52:49
985
原创 解决:Error parsing SQL Mapper Configuration. Cause: java.lang.ClassCastException: com.github.pagehelpe
解决将pom文件中,version标签删除版本号,按空格,选择低版本的pagehelper。原因pagehelper插件版本与。
2022-07-17 20:27:06
904
【比特币网络技术】基于TCP协议的比特币节点连接与通信指南:实现P2P网络消息交互和数据同步
2025-06-09
基于阿里云搭建离线数据仓库(离线数仓).pdf
2024-07-04
「代码随想录」二叉树专题精讲(v2.0).pdf
2023-11-28
图解系统-小林coding-v1.0.pdf
2023-11-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人