自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阿华田的博客

博客专注于大数据方向,谢谢观看!!!

  • 博客(169)
  • 资源 (12)
  • 收藏
  • 关注

原创 flink实战--metrics监控与rest api

Flink metrics简介 Flink的metrics是Flink公开的一个度量系统,允许收集flink程序的公开指标到外部系统,我们也可以自定义指标通过metric收集,实际开发时经常需要查看当前程序的运行状况,flink 提供了 UI 界面,有比较详细的统计信息。但是 UI 界面也有不完善的地方,比如想要获取 flink 的实时吞吐。本文将详细介绍如何通过metric......

2019-05-24 17:39:13 15736 7

原创 flink实战--读写Hbase

简介 在Flink文档中,提供connector读取源数据和把处理结果存储到外部系统中。但是没有提供数据库的connector,如果要读写数据库,官网给出了异步IO(Asynchronous I/O)专门用于访问外部数据,详细可看:https://ci.apache.org/projects/flink/flink-docs-release-1.6/dev/stream/o...

2019-01-18 19:07:18 8318 35

原创 flink实战--flink集群的搭建与部署

flink实战案例一:flink集群的搭建与部署1.下载Flink压缩包下载地址:http://flink.apache.org/downloads.html根据集群环境的情况下载相应的版本的flink压缩包hadoop2.6,Scala2.11,所以下载:flink-1.5.0-bin-hadoop26-scala_2.11.tgz解压tar -zxf flink-1.5.0-bi...

2019-01-17 16:44:09 14985

原创 spark将数据写入ES(ElasticSearch)终极总结

简介spark接入ES可以使用多种方式,常见类型如下。将Map对象写入ElasticSearch 将case class 类对象写入ElasticSearch 将Json的字符串写入ElasticSearch本文主要介绍将case class 类对象写入ElasticSearch:也就是获取数据然后使用case class封装数据,然后在case class中选取一个字段当做 id,...

2019-01-09 13:11:47 31744 19

原创 flink实战--水印(watermark)终极总结

水印(waterMark) 了解水印前需要了解事件时间(eventTime)和处理时间(processTime)的概念,参考博客:https://blog.csdn.net/aA518189/article/details/82908993了解事件时间。 Flink通过水印来推进事件时间。水印是嵌入在流中的常规记录。计算程...

2018-12-24 15:12:23 7766 2

原创 flink实战--flinkSQL入门大全

FlinkSQL概念介绍Table API & SQL Apache Flink具有两个关系API - 表API和SQL - 用于统一流和批处理。Table API是Scala和Java的语言集成查询API,允许以非常直观的方式组合来自关系运算符的查询,Table API和SQL接口彼此紧密集成,以及Flink的DataStream和DataSet A...

2018-11-12 18:07:03 25308 3

原创 flink实战--flink原理解析

Flink出现的背景 我们知道目前流处理的主要流行的计算引擎有,Storm,SparkStreaming。但是这个两个计算引擎都有自己的局限性。Storm实现了低延迟,但是目前还没有实现高吞吐,也不能在故障发生的时候准确的处理计算状态(将数据从一个事件保存到另一个事件的,这些保留下来的是数据较计算状态),同时也不能实现exactly-once。SparkStreaming通过微批处理方法............

2018-09-30 15:40:22 22179 7

原创 flink实战--实战案例

本文以flink本地模式 进行各个场景的实战开发Flink本地运行模式Flink支持两种不同的本地运行机制: LocalExecutionEnvironment启动完整的Flink运行环境,包括一个JobManager和一个TaskManager。这些包含了内存管理以及在集群模式下运行时所运行的所有内部算法。 LocalEnvironment也可以向Flink传入用户自定义配置。...

2018-09-18 11:52:31 8838 3

原创 kafka工作原理与使用

1.Kafka概述1.1.什么是KafkaApache Kafka是分布式发布-订阅消息系统(消息中间件)。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一种快速、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。传统消息中间件服务RabbitMQ、Apache ActiveMQ等,Apache Kafka与传统消息系统相比,有以下优点...

2018-06-30 20:43:01 2012

原创 kafka集群的搭建与使用

1.下载Apache kafka 官方: http://kafka.apache.org/downloads.htmlScala 2.11 -kafka_2.11-0.10.2.0.tgz(asc,md5)2.Kafka集群安装第一步:安装JDK &配置JAVA_HOME第二步:安装Zookeeper 参照Zookeeper官网搭建一个ZK集群, 并启动Z...

2018-06-30 20:33:57 945

原创 Hadoop之hdfs的工作原理和安装

一 HDFS简介(Hadoop Distributed File System)1简介:是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求而开发的,可以运行于廉价的商用服务器上。它所具有的高容错、高可靠性、高可扩展性、高获得性、高吞吐率等特征为海量数据提供了不怕故障的存储,为超大数据集(Large Data Set)的应用处理带来了很...

2018-04-08 22:32:07 970

原创 redis的安装与使用

下载redis因为redis一般会在linux系统进行安装,所以下载时要下载linux系统的安装包。官网地址:http://redis.io/下载地址:http://download.redis.io/releases/redis-3.2.8.tar.gz因为Redis是用c语言写的 需要需要现编译在安装编译工具:make BuildFileant build.xml...

2018-04-01 16:52:26 473

原创 基于ssm三大框架实现登录注册功能的配置过程

第一步  ssm jar包整合,本人的下载资源里面有整合的jar包主要有:ssm整合jar包 ,jstl,数据库连接,josn junit,等jar包第二步,建立各类包和配置文件,尽量把各个配置文件分开,统一放在一个自己建立的config文件夹中,容易区分,后面也好检查更改主要配置,mybatis,spring—mybatis,和springmvc,以及web.xml和jdbc(数据库连接信息)j...

2018-03-17 16:35:13 2540

原创 flin实战 -- 核心参数解析

下游算子可能阻塞(IO / RPC / DB)大并行度(> 500)。Kafka → Flink → 外部服务。,在下游消费能力不足或出现背压时,TM Netty 内存打满。任务启动瞬间建大量连接。

2026-01-13 20:42:03 24

原创 如何基于Jupyter内核自研NoteBook

本文介绍了一套基于微服务架构的Jupyter内核管理系统设计方案。系统采用SpringBoot框架,通过WebSocket实现实时通信,使用Redis进行消息发布订阅。核心功能包括:1)租户隔离的Jupyter服务管理,每个租户独立Pod部署;2)双层Session架构,分离用户会话和内核会话;3)Gateway层连接池管理,实现高效的内核生命周期管理。系统支持内核创建、代码执行、状态监控等功能,并设计了REST API和WebSocket接口规范。技术选型包括MySQL数据持久化、Jupyter消息协议5

2025-12-19 16:19:26 893

原创 数据质量系统的设计

让数据问题不再依赖“某个老司机”,而是变成一种可复制、可演进的工程能力。如果你正在建设:数据质量平台数据治理体系数据中台 / 数据湖欢迎交流你们当前所处的阶段,很多坑,其实是可以提前避开的。

2025-12-18 16:30:25 464

原创 规则引擎如何选型

在风控、营销、审批、定价、权限控制等系统中,几乎是绕不开的基础能力。但现实情况是:有的团队一上来就引入 Drools,最后发现复杂度远超收益;有的团队用 Groovy 写了上百个脚本,逐渐演变成“第二套业务系统”;还有的团队在规则频繁变更时,依然只能靠发版解决。本文从出发,对业内常见规则引擎进行系统对比,帮助你在真实业务中做出更理性的选型。

2025-12-18 16:28:01 714

原创 低代码开发平台:常用动态脚本Groovy

低代码平台通常内置一堆能力,但留 Groovy 扩展点:自定义计算函数自定义权限规则自定义指标口径。

2025-12-18 16:17:37 296

原创 Groovy对业务能力扩展

因为之前在项目中使用了Groovy对业务能力进行一些扩展,效果比较好,所以简单记录分享一下,这里你可以了解:为什么选用Groovy作为脚本引擎了解Groovy的基本原理和Java如何集成Groovy在项目中使用脚本引擎时做的安全和性能优化实际使用的一些建议。

2025-12-18 16:14:35 535

原创 仿照Flink基于SPI机制实现插件化消息发送服务

本文设计了一个基于Java SPI和Flink插件机制的可插拔消息服务框架。核心架构包括:1)core-api定义MessageSender接口;2)插件通过jar包实现接口,并配置META-INF/services文件;3)PluginManager使用独立ClassLoader加载插件目录中的jar包,通过ServiceLoader发现实现类。该框架实现了消息发送服务的模块化和热插拔,支持短信、邮件等多种消息类型,新增类型只需实现接口并放入插件目录即可,无需修改主程序代码。整体架构借鉴了Flink的pa

2025-11-28 15:33:44 825

原创 java程序优雅设计技巧

在之后,它成为许多系统设计中非常关键的工具。,子类可以不实现,但仍能覆盖。下面我把它在实际架构中的典型使用场景总结得尽量清晰、实战化。

2025-11-14 14:02:11 309

原创 使用gRPC实现分片服务的心跳机制

摘要:本文介绍了基于gRPC构建分布式系统心跳机制的设计方案。采用gRPC双向流实现高效心跳检测,支持节点注册、分片信息下发和任务处理。系统包含ResourceManager和多个Worker节点,使用静态模运算分片策略,并通过分片版本控制实现稳定性。文章详细描述了Proto定义、核心实现逻辑(包括心跳流处理、分片计算和数据获取)和重平衡策略,强调了分片变更时的稳定窗口机制和幂等处理的重要性。方案充分利用gRPC的高性能、双向流特性和跨语言优势,为分布式系统提供了可靠的心跳和任务分配机制。

2025-11-11 16:06:47 749

原创 paimon实战 -- Flink 写入 Paimon 流程深度解析

写入(Write):多并行 Writer 把记录写成临时文件并生成 Committable 元数据;持久化(Pre-commit / snapshotState):Writer 和 Committer 把必要的元数据持久化到 Flink State Backend;提交(Commit):在全局 checkpoint 完成后,Committer 把 Committable 应用到 Paimon(写 Manifest/创建 Snapshot),从而原子地使数据对读取者可见。

2025-11-11 11:08:26 186

原创 分布式分片执行原理解析

本文介绍了一种基于分片机制的分布式任务调度方案。传统分布式锁方案存在性能瓶颈,无法充分利用多节点并行处理能力。新方案通过引入ResourceManager协调角色,将任务数据按规则分片,不同节点处理不同分片的数据,从而保证任务唯一性同时实现并行处理。系统支持节点动态感知、自动平衡和容错恢复,适用于大规模数据同步、定时统计等场景。相比分布式锁方案,分片机制在并行能力、性能和容错性方面具有明显优势,是分布式任务调度从"锁控制"到"智能分片"的有效升级。

2025-11-06 10:34:23 542

原创 高性能接口设计思路大全

摘要:本文系统总结了18种高并发场景下的接口优化方案,涵盖数据缓存、架构设计、数据库优化等关键领域。通过批量操作、异步处理、预取缓存、池化技术等核心方法,可显著提升接口响应速度和系统吞吐量。重点包括SQL和索引优化、分页查询改进、限流保护机制以及JVM调优等实战技巧,结合压测工具持续分析性能瓶颈,帮助构建高稳定、高性能的后端系统。

2025-11-06 10:11:42 679

原创 分布式锁实现流程

本文介绍了分布式锁的概念、应用场景及实现方式。在分布式系统中,当多个进程需要共享资源时,传统线程锁无法满足需求,因此需要分布式锁来协调进程间的资源访问。分布式锁应具备高可用、高性能、可重入、防死锁等特性。常见的实现方案包括Memcached、Redis、Zookeeper等。重点讲解了Redisson框架的使用,它是基于Redis的Java分布式工具包,提供了丰富的分布式功能。文中详细说明了Redisson的配置管理、三种使用方式,并给出了具体的锁操作示例代码。最后通过多线程测试验证了分布式锁的有效性,展示

2025-10-23 11:20:43 954

原创 大数据存储治理三剑客 -- 冷备、压缩、生命周期

为公司内所有团队(组)提供统一的、**生命周期管理(保留/删除/恢复)**能力,降低长期存储成本。支持:按组维度统计已用存储与节省量(归档/压缩带来的节省),支持可下载报表与告警。提供,让用户自主定义表/目录的治理策略(归档周期、压缩策略、保留策略、访问控制)。

2025-10-22 21:00:42 666

原创 vivo HDFS EC 大规模落地实践

摘要: vivo在EB级HDFS集群中大规模应用Erasure Coding(EC)技术,通过RS6-3-1024k策略替代三副本存储,降低50%冗余度,节省数百PB空间。实践表明,EC适用于低频访问的冷数据,但需解决读写性能下降、补块耗时等问题。vivo通过升级HDFS 3.1、异步转换机制、异构存储优化及文件校验修复工具(如定制化hdfs-ec-validator)保障数据可靠性,并利用冷存储策略进一步降本。未来将优化EC读取性能、细化数据分层,推动更高效益的EC落地。

2025-10-22 20:43:21 837

原创 得物向量数据库落地实践

摘要:得物技术团队基于业务需求,对比分析了主流向量数据库特性,最终选择Milvus作为支撑十亿级向量搜索的基础设施。文章详细阐述了向量数据库与传统数据库的差异,重点介绍了HNSW和DiskANN索引的技术选型考量,并分享了Milvus在得物社区的实践历程,包括架构演进、性能优化、高可用方案及运维经验。针对不同业务场景,团队制定了三种迁移方案,并特别指出在亿级数据量下Zilliz的性能优势。最后展望了数据迁移闭环和准确性校验等未来优化方向。

2025-10-11 17:35:30 2240

原创 Guava EventBus:事件驱动框架

本文介绍了消息队列和事件总线在软件系统中的异步通信作用。消息队列(如Kafka、RabbitMQ)通过生产者-消费者模型实现解耦和可靠传递,而事件总线(如Guava EventBus)提供了更高层次的组件间事件发布/订阅机制。重点演示了Guava EventBus在Spring Boot中的实现方式:包括事件定义、监听器注册、同步/异步事件处理等。通过订单创建和支付处理的示例,展示了如何利用事件驱动架构实现业务解耦,包括EventBus初始化、事件监听器注解配置以及事件发布流程。该方案适用于需要松耦合通信的

2025-09-19 16:33:34 486

原创 架构-消息中心架构设计

摘要:设计一个可扩展的消息发送系统,采用策略模式实现多种消息类型(电话/短信/邮件)的发送逻辑,工厂模式统一实例化过程,观察者模式处理失败和超阈值告警。系统提供统一接口,调用方只需指定内容和类型,内部自动选择合适的发送策略并监控异常。通过装饰器模式(可选)实现发送量统计等增强功能。该架构解耦了发送实现、实例创建和监控告警,支持未来灵活扩展新消息类型和监控方式,符合开闭原则。核心设计组合了策略+工厂+观察者三大模式,兼顾可扩展性和可维护性。

2025-09-19 16:17:41 366

原创 重试框架 -- Guava Retry

Guava retry工具与spring retry类似,都是通过定义重试者角色来包装正常逻辑重试,但是Guava retry有更优的策略定义,在支持重试次数和重试频度控制基础上,能够兼容支持多个异常或者自定义实体对象的重试源定义,让重试功能有更多的灵活性。链接由于网络抖动或者其他因素导致响应失败,这时候直接判定失败或者Mock数据未必是一种优雅的方式,因为这种情况下未必是接口挂掉了或者数据库连不上了,有可能是网络一时的抖动导致的,所以这时候一个优雅的重试机制或许能帮上我们。2分钟后,每隔2分钟重试一次。

2025-09-05 10:01:16 442

原创 paimon实战 -- 阿里基于StarRocks 与 Paimon 实现的实时分析黑科技

但需要注意的是,通过 Resource Group 实现的资源隔离通常为软隔离,即假设有三个资源组 rg1、rg2、rg3,资源配额为 1:2:3,当 BE/CN 节点满载时,集群资源会按照配额分配;即在同一个实例中共享一份数据存储,共享 FE 节点的查询规划和资源调度,将 CN 节点进行物理隔离,满足读写分离场景和不同业务负载需求,同时支持根据实际业务需求动态调整资源,确保资源高效利用并降低成本。此外,粒度的选择尤为重要。项目后期,在业务侧,用户L分层的口径频繁变更,业务也会圈选新的人群包进行下钻分析;

2025-09-05 09:30:40 206

原创 piamon实战-- 如何使用 Paimon 的 Java API 实现数据的点查

点查(Point Lookup)是指通过 ​​唯一键(Primary Key)​​ 快速定位并返回单条或少量数据的查询模式。例如:根据用户 ID 查询用户信息、根据订单号查询订单详情等。点查的核心诉求是 ​​低延迟​​ 和 ​​高吞吐​​,适用于实时风控、在线分析等场景。​​定义主键表结构​​,优化数据分布。​​构建过滤条件​​,使用指定查询键。​​执行查询并处理结果​​,结合流式更新实现实时查询。

2025-04-18 10:54:33 417

原创 paimon实战 -- Flink+Paimon实时湖仓实践案例分享

需求背景目前奥格运营平台提供的下单相关的实时标签(如用户最近一次实物购买时间等),都是基于来加工的,即不考虑用户后续的逆向退款情况。然而,运营同学需要实时圈选出近一段时间未成功购买(未下单或下单后退款)的人群,制定运营策略及发放权益,提高复购率。因此,该需求可以明确为:构建的实时标签。问题分析用户的下单行为和退款行为是有时序性的,因此当用户在下单后发生逆向退款行为时,需要回撤之前的订单结果,并回溯最近一次支付成功且未退款的订单信息。

2025-01-06 09:46:52 991

原创 paimon实战 -- 如何使用partial update实现并发写入paimon宽表代替双流join

在湖仓业务开发中,进行宽表开发是常见的业务需求, 常规方式都是通过双流或者多流进行join实现将多个表的数据合成一条数据写入宽表,但是join的方式会导致flink任务状态很大,任务不好维护。为了解决状态大的问题paimon提供了partial update,可以不使用join,完成多个insert into 写入或更新同一张表的同一条数据,本文将详细介绍partial update的使用方式和注意事项。

2024-12-12 20:58:06 1826

原创 paimon实战 -- paimon表数据写入和查询使用指南

通过设置consumer-id参数,您可以给流作业中的Paimon源表算子赋予一个Consumer ID,其值可以是任意的字符串。Consumer ID第一次创建时,它的起始消费位点根据中的规则确定。后续只要继续使用相同的Consumer ID,即可恢复Paimon表的消费进度。例如,为Paimon源表算子设置名为test-id的Consumer ID的SQL语句示例如下。

2024-12-12 16:16:41 1601

原创 paimon实战 -- 数据写入和更新底层数据流转解读

manifest-list-4ccc-c07f-4090-958c-cfe3ce3889e5-1 是增量清单列表(上图中的 manifest-list-1-delta),它包含一组对数据文件进行操作的清单条目,在此情形下指的是 manifest-1-0。manifest-list-4ccc-c07f-4090-958c-cfe3ce3889e5-0 是基础清单列表(上图中的 manifest-list-1-base),实际上是空的。小文件的数量会随着快照的增加而增多,这可能会导致读取性能下降。

2024-12-11 09:40:12 1607

原创 paimon实战 -- append表查询性能优化

对于任何数据库查询操作想要查询的性能好,都离不开索引,同样在查询Paimon非主键表的时候,我们可以通过排序过滤、索引过滤等方式提高查询速率。

2024-12-11 09:23:26 713

原创 flink实战 -- flink SQL 如何解析复杂(嵌套)json

在日常的开发中,最常用的数据格式是 JSON ,并且有的时候 JSON 的格式是非常复杂的(嵌套的格式),那在 Flink SQL 中进行解析的时候也会相当麻烦一点,下面将会演示如何在 DDL 里面定义 Map、Array、Row 类型的数据,以及在 SQL 里面如何获里面的值。目前,JSON 模式总是从表模式派生。下表列出了从 Flink 类型到 JSON 类型的映射。说明数据都可以正常的解析出来,如果遇到更加复杂的 JSON 格式的数据,只需要比葫芦画瓢就可以了,在复杂的格式都不是问题.

2024-11-11 16:33:33 967

flink实践案例

本文档总结了国内各个互联网巨头使用flink的案例,有美团,唯品会,滴滴,360等,如何实现对flink的各种应用,同时里面也包含对flink使用的总结。

2018-12-20

最全面的flink入门编程案例

本文的非常详细的介绍了 flink、如何进行大数据开发的,包含flink读取kafka、文本读取,hdfs

2018-09-18

大数据测试数据集

本数据是淘宝开源的用户真是产生的数据,包括商品id,用户id,商品品类id,生成时间,用户行为:pv,cut(加入购车车)。。。。

2018-12-20

flink需要的jersey-core和jersey-client

如果flink提交jar到yarn上运行报如下错误:java.lang.NoClassDefFoundError: com/sun/jersey/core/util/FeaturesAndProperties,在flink的lib包里面添加这两个jar包

2019-03-01

基于SSH的新闻发布系统

本系统是一个基于SSH框架开发的新闻发布系统,使用的是MySql数据库,非常适合初学者练习ssh框架,有一定的实战意义

2018-06-06

基于ssm框架的XX商城系统

本系统是基于ssm框架,模仿小米商城做的一个商城系统,对于学习ssm框架有很大的帮助

2018-03-19

flink-connector-jdbc_2.11-1.11.2.jar

flink本身DDL的方式目前还不支持clickhouse,本jar添加对clickhouse的支持,导入到flink/lib下即可使用

2021-02-24

基于SSM框架开发的共享单车管理系统

本系统是一个基于SSM框架的共享单车后台系统,里面还包括 AJAX,JQUERY,地图定位等技术使用,对于正在学习SSM框架的非常适合,有一定的实战意义。

2018-06-06

连接池 所有jar包

c3p0,dbcp,druid,DButils,所有连接池的jar包,以及工具DBUtils jia包

2018-03-16

josn jar包

josn jar包,在web开发中josn数据用的还是比较多的,使用也不叫简单

2018-03-16

python电子书大全

本资料包括三本完整的python电子书,python核心编程,python从入门到实践,python编程思想

2019-01-01

ssm整合jar包

ssm三大框架所有的jar包整合,里面有所有框架所以需的jar包

2018-03-16

空空如也

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

TA关注的人

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