自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 布隆过滤器:用概率换空间的奇妙数据结构

布隆过滤器(Bloom Filter)是伯顿·布隆在1970年提出的一种空间高效的概率型数据结构。它用来判断一个元素是否可能在一个集合中,或者肯定不在集合中。空间效率极高:比其他数据结构节省大量内存查询速度快:常数时间复杂度,与数据量无关安全:不存储原始数据,只有哈希值,保护隐私可并行化:多个哈希函数可以并行计算在合适的场景下,用可控的不完美换取巨大的效率提升。就像生活中的许多决策一样,我们不需要100%的确定性才能行动。在可以承受的误差范围内,选择更高效的方案,往往是更明智的选择。

2025-12-15 17:44:45 737 2

原创 深入解析Redis三大缓存问题:穿透、击穿、雪崩及解决方案

想象一下这样的场景:一个恶意用户不断请求系统中不存在的用户ID,比如user:-1或。这些请求会先查询Redis缓存,由于缓存中没有这些数据,请求会直接打到数据库。数据库也查询不到结果,因此不会回写缓存。每次请求都像穿过缓存直接访问数据库一样,这就是"缓存穿透"。缓存击穿就像是缓存系统的"阿喀琉斯之踵"——一个致命的弱点。当某个热点key过期的瞬间,大量并发请求同时发现缓存失效,这些请求会如潮水般涌向数据库,造成数据库瞬时压力过大。缓存雪崩是缓存系统中最危险的场景。当大量缓存key在同一时间点过期。

2025-12-15 12:13:52 1137

原创 [特殊字符] 熊猫之力:从零开始解锁pandas的强大能力

Pandas不仅是一个工具,更是一种数据处理思维方式。通过本文的学习,你已经掌握了:✅ 数据读取与保存的多种方式✅ 数据探索与清洗的核心技巧✅ 数据筛选与转换的灵活方法✅ 分组聚合与统计分析的能力✅ 数据可视化的基础技能实践是最好的老师。找一个真实的数据集,从数据清洗到分析可视化完整走一遍流程,你会对pandas有更深刻的理解。

2025-12-12 10:18:06 1323

原创 Java数据结构与集合框架全解析

Override// 实现equals方法@Override// 实现hashCode方法// 必须和equals保持一致// 在HashMap/HashSet中使用考虑访问模式:读多还是写多?随机访问还是顺序访问?考虑线程安全:是否需要并发访问?考虑排序需求:是否需要有序存储?考虑内存和性能:空间和时间复杂度的平衡掌握各种数据结构的特点和适用场景,能够显著提升代码的效率和可维护性。

2025-12-10 11:04:42 704

原创 Spark性能优化:核心技巧与实战指南

Spark会将其以高效的方式分发到每个节点一次,而不是随着每个Task序列化传输,极大减少网络开销。:Shuffle是跨节点的数据混洗,涉及磁盘I/O、网络I/O和数据序列化,代价极高。(默认200)增加分区数,让倾斜的Key分散到更多Task中(治标不治本,对于极端倾斜效果有限)。:将倾斜的Key加上随机前缀,打散到不同分区处理,最后再去掉前缀合并结果。:将倾斜的Key单独拿出来处理(如使用广播Join),非倾斜部分正常处理,最后合并。:并行度决定了Task的数量,太少导致资源闲置,太多则带来调度开销。

2025-12-10 10:23:56 912

原创 如何批量删除MySQL海量数据

使用LIMIT分批次,避免长事务。

2025-12-09 21:01:39 633

原创 设计模式:单例模式与策略模式详解(附代码)

本文介绍了两种常见的设计模式:单例模式和策略模式。单例模式确保类只有一个实例并提供全局访问点,适用于资源管理、配置等场景,实现要点包括私有构造、静态实例和线程安全。策略模式将算法封装为独立可替换的策略类,避免条件语句,支持运行时切换,适用于支付方式、排序算法等场景。两种模式分别关注对象生命周期和行为封装,各有适用场景和优缺点。

2025-12-08 10:49:49 904

原创 Redis核心技术与实战指南

Redis是一款高性能内存数据库,支持多种数据结构(字符串、哈希、列表等),具备持久化(RDB/AOF)、事务和发布订阅功能。其高可用方案包括主从复制、哨兵模式和集群模式。Redis适用于缓存、分布式锁、排行榜等场景,通过合理的内存管理和性能优化(如连接池、Pipeline)可支撑高并发业务。实际应用中需注意持久化策略选择、内存淘汰机制配置及监控告警设置,确保系统稳定运行。

2025-12-08 10:21:38 1045

原创 FlinkCEP:实时流中的复杂事件处理详解

简单事件:简单事件存在于现实场景中,主要的特点为处理单一事件,事件的定义可以直接观察出来,处理过程中无须关注多个事件之间的关系,能够通过简单的数据处理手段将结果计算出来。复杂事件:相对于简单事件,复杂事件处理的不仅是单一的事件,也处理由多个事件组成的复合事件。复杂事件处理监测分析事件流(Event Streaming),当特定事件发生时来触发某些动作。

2025-12-05 11:19:15 1161

原创 编程语言核心:5大关键特性解析

先编译成一种中间代码(字节码),然后在虚拟机(JVM, .NET CLR)上解释执行或即时编译。性能通常更好,也更安全。将计算视为数学函数的求值,避免状态和可变数据,强调“纯函数”。才确定变量类型,更灵活,代码更简洁,但运行时类型错误风险较高。以“对象”(数据+方法)为中心,强调封装、继承、多态。:强弱类型的界限有时比较模糊,但静态/动态类型的区分非常清晰。(领域:Web、移动App、数据分析、游戏...)(性能要求极高的操作系统、游戏引擎、嵌入式)。(在追求安全、并发和性能的新兴领域非常流行)。

2025-12-05 09:26:18 829

原创 FlinkSql读取Kafka数据发送到Kafka

1.首先获得两个Kafka的topic,一个启动消费者topic2,一个启动生产者topic1,想在topic2中消费topic1的数据。2.创建两个表结构,一个连接topic1作为table1,一个连接topic2作为table2。3.用flinksql语句查询table1数据然后插入到table2。这个表示最后写了env.execute();删除即可,但不影响结果。这个报错是因为没有导入json的包:导包即可。

2025-12-02 21:01:00 1225

原创 FlinkSql查询时报错

2.根本原因:查询使用了 GROUP BY 聚合操作(产生更新变更),而默认匿名 Sink 不支持处理这种更新流。简单来说就是由于table类型转换为DataStream是使用的方法不对,无法和控制台匹配。Flink SQL 查询结果包含更新操作(如聚合),但输出目标不支持接收更新变更日志。1.错误类型:TableException,表明表管道中存在不兼容的变更日志模式。根据报错可以得知这是在执行sql语句是出现的错误,应该更换方法,比如之前打印到控制台时使用的方法为。就可以将输出结果打印到控制台了。

2025-12-02 16:43:59 235

原创 从kafka中读取卡口数据,将超速车辆写入mysql

什么是电子警察,什么是卡口?跟设备无关,长得都一样:对着路口的,叫电子警察,跟路口相反的叫卡口。在这个设备的不远处,有一个方盒子,其实是服务器(中转的,会对数据做一些处理)电子警察照片拍摄完毕后,需要加工处理,在每张照片上面会添加一行文字,如下:2022-06-1902:41:04.099地点:人民路塔南路东向西通行方向::东向西车道:5 车牌:豫HXXXX设备编号:4108000000123123防伪码:40326a183121d0f30。

2025-12-01 20:53:51 561

原创 Flink四大基石

本文系统介绍了Flink流处理中的窗口机制、时间语义、状态管理和容错机制。核心内容包括:1)窗口分类(计数/时间窗口)及其触发机制;2)事件时间与Watermark解决乱序问题;3)有状态计算原理及KeyedState类型;4)Checkpoint与Savepoint的容错机制。重点阐述了如何通过时间语义和Watermark处理延迟数据,以及Flink如何利用状态管理和检查点机制保障流处理的一致性和可靠性。这些机制共同构成了Flink处理无界流数据的核心框架。

2025-12-01 20:43:17 1552

原创 Windows11搭建Apache Kafka教程

摘要:Kafka是一个分布式消息系统,具有高吞吐量、低延迟、可扩展性等特点。本文介绍了在Windows11环境下安装配置Kafka和Zookeeper的步骤,包括环境准备、软件下载、配置修改以及常见问题的解决方法。主要内容涵盖Kafka目录结构、server.properties配置、Zookeeper环境变量设置、服务启动流程以及Topic创建测试等操作指南,并针对闪退、WMIC命令错误、路径过长和中文乱码等问题提供了解决方案。

2025-11-27 16:25:35 1427

原创 Flink集群中出现的一些问题

Flink中主要有两个服务一个是8081的cluster和8082的historyserver问题主要出现在historyserver。

2025-11-25 10:55:52 784 1

原创 数据集成 (根据经纬度增加省市区维度),使用geohash来降低高德api调用

本文提出了一种基于Geohash编码的地理位置查询优化方案。针对通过高德API获取省市区信息时存在重复调用、成本高的问题,采用Geohash5编码将相近坐标点聚合。方案首先建立包含geohash5编码的维度表,查询时优先查找本地表,未命中再调用API,并将新结果存入表。具体实现使用Spark框架,通过广播变量共享地理数据字典,自定义UDF函数处理坐标转换,并利用累加器记录新数据。测试表明,该方法有效减少了API调用次数,在保证精度的同时显著降低了成本。

2025-11-20 20:21:34 933

原创 Hive数据倾斜的解决方法

摘要:数据倾斜是分布式计算中常见问题,表现为任务长时间卡在99%进度,主要由数据分布不均导致。本文分析了多种数据倾斜场景及解决方案:1)数据类型不一致时进行类型转换;2)处理异常null值时进行过滤或随机分配;3)单表group by操作时通过参数优化(如开启负载均衡);4)多表join时使用参数调整、MapJoin或分桶表技术。通过合理设置reduce数量、优化join策略等方法,可有效解决数据倾斜问题,提升计算效率。

2025-11-20 19:32:09 992

原创 Hive性能优化十大技巧

本文总结了Hive性能优化的15个关键策略:1)启用本地模式处理小数据集;2)使用EXPLAIN分析SQL执行计划;3)配置Fetch抓取避免不必要MR任务;4)开启严格模式防止低效SQL;5)JVM重用减少启动开销;6)合理使用分区/分桶和压缩技术;7)动态调整Map/Reduce数量;8)并行执行独立Stage;9)启用CBO优化器;10)谓词下推提前过滤;11)MapJoin优化小表关联;12)SMBJoin处理大表关联;13)选择性创建索引;14)列裁剪与分区裁剪;15)避免数据倾斜。这些方法从执行

2025-11-19 16:44:30 1289

原创 Spark报错:java.lang.ClassNotFoundException Class org.apache.hadoop.hive.serde2.JsonSerDe not found

在清洗数据时,使用spark查询hive表中的数据时产生的报错。

2025-11-19 15:11:54 64

原创 解决sparksql创建出来的数据库路径错误的问题

摘要:Spark创建数据库时因未关联Hive Metastore导致路径错误,数据库仅存在于本地Derby中。解决方法包括:1)修改Hive的hive-site.xml配置;2)将该文件复制到Spark配置目录并修改端口设置;3)分发配置到集群;4)重启Thrift服务。通过配置Hive元数据服务使Spark能正确识别Hive表,确保数据库创建在HDFS上而非本地。

2025-11-18 15:31:33 405

原创 Spark数据读取全攻略:RDD与SQL实战指南

【代码】Spark和Hive的数据来源区别。

2025-11-03 19:25:59 487

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除