- 博客(445)
- 收藏
- 关注

原创 【2024年度总结】多元发展 积极向上 不断前行 无限进步 --- 致我的朋友们
(配图按时间顺序排列)学习、记录、读书、AI、游戏、运动、拍照、人像、无人机、聚餐、血糖、星空、拉花、大数据、博客、冷水澡、风景、3D打印…: ) 文案抄抄改改 心是真的大河川流不息,不断迎来送往。对我来说,让我开心的不是废话本身,而是被你认真回复认真对待的感觉,在这日常琐碎的细节里,好像每句话的言外之意都是我喜欢你。希望你可以迈出走向我的一步,剩下的九十九步我会毫不犹豫的奔向你,这次,下次,以后。愿将这份力量传递给你们,祝大家新年快乐!如果你愿意的话,我们一起无限进步!
2024-12-31 09:43:00
3739

原创 【2023年度总结】 何其有幸 年岁并进 一元复始 万象更新
多个日夜,深夜清晨,我都在想到底自己适合不适合在这里。当你在技术团队中,每天听到大家谈论的都是房子车子、一地鸡毛时,我常常发呆,我到底想要的是什么?无数新东西,两天一个新工具,三天一个新技术,能让我都感觉到学不动了。随着学会的东西陡增,信息爆炸,也看到了自己无知的一面。早起、拍照、运动、读书、学习、认识了很多厉害的朋友,尝试影响周围的人。最后我想说,人生如棋,无限重复只找到局部最优,不断的寻求变数,下一个也许就是全局最优解。☀️ 何其有幸,年岁并进,长安常安。祝我,祝你,也祝大家。
2024-01-01 10:28:52
25164
5
原创 大语言模型 13 - 从0开始训练GPT 0.25B参数量 MiniMind2 补充 训练开销 训练步骤 知识蒸馏 LoRA等
GPT(Generative Pre-trained Transformer)是一种广泛应用的大语言模型架构,其训练过程包括数据准备、预训练、指令微调、对齐阶段和推理部署。本文详细介绍了GPT的训练流程,并借助MiniMind项目展示了如何训练自己的GPT模型。训练过程涉及数据收集、预处理、模型设计、训练策略、优化技巧及后训练阶段(如微调和对齐)。此外,文章还探讨了LoRA模型在医疗和自我认知场景中的应用,以及推理模型的训练和评估。通过实验,MiniMind2模型展示了训练损失走势,并推荐了相关开源项目供进
2025-05-19 09:05:47
938
原创 大语言模型 12 - 从0开始训练GPT 0.25B参数量 MiniMind2 补充 训练开销 训练步骤 知识蒸馏 LoRA等
本文系统介绍了GPT大语言模型的训练流程,涵盖从数据准备到推理部署的各个阶段。训练过程主要包括数据准备、预训练、指令微调、对齐阶段和推理部署。预训练阶段通过无监督学习让模型积累知识,指令微调阶段则通过有监督学习使模型适应对话任务。对齐阶段通过人类反馈强化学习(RLHF)或直接偏好优化(DPO)提升模型的回答质量。知识蒸馏(KD)则用于优化模型性能和效率。文章还分享了MiniMind项目的训练经验,展示了低成本训练模型的可行性,并提供了具体的训练步骤和成本估算。
2025-05-19 08:52:15
451
原创 大语言模型 11 - 从0开始训练GPT 0.25B参数量 MiniMind2 准备数据与训练模型 DPO直接偏好优化
本文详细介绍了GPT模型的训练流程,涵盖了从数据准备到推理部署的各个关键阶段。首先,通过下载并预处理数据集(如pretrain_hq、sft_512、sft_2048、dpo等),为模型训练奠定基础。接着,使用双卡进行预训练,训练参数量为104M的模型。随后,分别在sft_512和sft_1024数据集上进行微调训练,并测试模型性能。最后,进行DPO(Direct Preference Optimization)训练,调整batch_size以避免显存溢出。整个流程展示了GPT模型从数据准备到最终部署的完整
2025-05-17 08:41:57
666
原创 大语言模型 10 - 从0开始训练GPT 0.25B参数量 补充知识之模型架构 MoE、ReLU、FFN、MixFFN
本文系统介绍了GPT模型的训练流程,涵盖数据准备、预训练、指令微调、对齐阶段及推理部署等关键步骤。文章详细探讨了GPT的模型架构,特别是Decoder-Only Transformer结构,并对比了不同激活函数(如ReLU与SwiGLU)和归一化方法(如RMSNorm)的性能。此外,还介绍了MoE(混合专家)和MixFFN(混合前馈网络)等先进技术,这些技术通过参数稀疏化和局部感知能力提升模型效率。文章最后总结了这些技术如何共同推动语言生成模型的推理效率和训练稳定性。
2025-05-16 13:22:00
674
原创 大语言模型 09 - 从0开始训练GPT 0.25B参数量 补充知识之数据集 Pretrain SFT RLHF
本文详细介绍了GPT模型的训练流程,包括数据准备、预训练、指令微调、对齐阶段和推理部署等关键步骤。文章特别强调了数据质量的重要性,并提供了多种数据集的详细描述和下载链接,如预训练数据集pretrain_hq.jsonl和微调数据集sft_mini_512.jsonl。此外,文章还讨论了分词器的选择及其对模型性能的影响,推荐使用自定义的轻量级分词器以优化模型参数。整体而言,本文为理解和实施GPT模型的训练提供了全面的指导。
2025-05-16 11:34:50
963
原创 大语言模型 08 - 从0开始训练GPT 0.25B参数量 - MiniMind 单机多卡 torchrun deepspeed
本文系统介绍了GPT模型的训练流程,涵盖数据准备、预训练、指令微调、对齐阶段及推理部署等关键环节。数据收集与预处理包括海量文本的清洗、分词等步骤,预训练阶段通过无监督学习捕捉广泛知识。文章还详细讲解了单机多卡训练工具如torchrun和DeepSpeed的使用方法,并介绍了机器学习实验管理平台wandb的功能与配置。最后,通过实际案例展示了如何使用torchrun和wandb进行预训练和监督微调,显著提升了训练效率。
2025-05-15 15:52:18
1181
原创 大语言模型 07 - 从0开始训练GPT 0.25B参数量 - MiniMind 实机训练 预训练 监督微调
本文详细介绍了GPT模型的训练流程,包括数据准备、预训练、指令微调、对齐阶段和推理部署等关键步骤。通过MiniMind项目,展示了单卡训练的具体操作,如预训练和监督微调的执行过程,并提供了相应的代码示例和输出结果。文章还探讨了如何通过GPU监控训练状态,并展示了不同模型(如预训练模型和SFT-Chat模型)的测试效果,证明了监督微调对提升模型回答质量的有效性。整体而言,本文为理解和实施GPT模型的训练提供了全面的指导。
2025-05-15 15:39:13
435
原创 大语言模型 06 - 从0开始训练GPT 0.25B参数量 - MiniMind 实机配置 GPT训练基本流程概念
GPT(Generative Pre-trained Transformer)是目前最广泛应用的大语言模型架构之一,其强大的自然语言理解与生成能力背后,是一个庞大而精细的训练流程。本文将从宏观到微观,系统讲解GPT的训练过程,包括数据收集、预处理、模型设计、训练策略、优化技巧以及后训练阶段(微调、对齐)等环节。我们将先对 GPT 的训练方案进行一个简述,接着我们将借助 MiniMind 的项目,来完成我们自己的 GPT 的训练。GPT 的训练过程大致分为以下几个阶段:GPT模型的效果离不开海量数据支持,主要
2025-04-30 14:49:52
1168
原创 大语言模型 05 运行、微调的显存计算详解与优化 全量微调、LoRA 优化策略
随着Transformer架构的大语言模型(LLM)不断发展,模型参数规模急剧膨胀,显存消耗成为推理和微调过程中的核心瓶颈。本文系统梳理了大模型在推理与微调阶段的显存计算方法,详细分析了模型参数、优化器状态、中间激活值、批处理大小等因素对显存需求的影响。通过具体案例(如1.5B、7B模型)量化分析显存占用,并总结了常用的显存优化策略,包括混合精度训练、梯度检查点、模型并行、量化剪枝等。此外,还特别介绍了LoRA微调技术在降低显存压力方面的优势。通过本文,读者将能清晰掌握大模型显存消耗的计算逻辑,从而更科学地
2025-04-27 13:59:49
1096
原创 大语言模型 04:模型量化详解 KTransformers MoE推理优化技术
DeepSeek-V2是一种采用专家混合模型(Mixture-of-Experts, MoE)的新型大语言模型。在V2版本中,该模型共拥有2360亿个参数,但每个token仅激活210亿个参数,大幅减少了推理计算量。传统的Transformer模型通常采用分组查询注意力机制(Grouped-Query Attention, GQA),而DeepSeek-V2则引入了多头潜在注意力机制(Multi-head Latent Attention, MLA),从而有效降低推理阶段的KV缓存大小,提升推理性能。
2025-04-27 10:42:37
663
原创 大语言模型 03:模型量化【超轻部署、极致推理】KTransformers 环境配置 实机测试
本文全面介绍了由 KVCache.ai 开发的高性能本地大模型推理框架 —— KTransformers。它通过 Triton MLA 内核优化、稀疏注意力机制、CPU/GPU 异构调度等技术,实现了在资源受限设备上高效运行百亿/千亿参数模型的能力。本文不仅详细剖析了其核心特性、适用场景,还手把手演示了 DeepSeek 模型实机测试流程,适合所有想探索本地大模型推理的开发者收藏学习。
2025-04-24 09:25:20
686
原创 大语言模型 02:“模型量化”详解 量化参数 主流量化参数全面解读与实战-Q/K/IQ/TQ 到 GGUF 的完整流程
本文作为模型量化实践的进阶内容,详细介绍了量化参数体系(包括 Q 系列、K 系列、IQ、TQ 等),并结合 llama-quantize 工具进行全流程演示。我们从 Huggingface 格式模型出发,完成转换为 GGUF 格式、量化为 Q4_K_M 等策略,最终成功在 Ollama 中加载运行,验证了整个流程的可行性和实用性。文章中还给出了各类量化策略的对比与适用建议,适合正在部署本地推理或优化模型体积的开发者阅读参考。
2025-04-24 09:07:47
1208
原创 大语言模型 01:的“模型量化”详解 原理、方法、依赖配置
模型量化是一种**将高精度浮点数(如 FP32)转换为较低位数表示(如 INT8、INT4、BF16 等)**的技术,目的是减小模型体积、加快推理速度、降低内存/显存使用,同时尽量保持模型精度。简单来说,就是用更“紧凑”的方式来表示模型中的权重和激活值。
2025-04-23 10:15:52
816
原创 大语言模型 00 - Ollama:本地部署大模型的便捷新选择 | 快速安装 & 多卡运行实战
✅ 简单易用✅ 支持 GPU 加速✅ 自动下载模型 & 自动运行✅ 支持多卡并行📦 安装简单:一行命令完成安装📉 低门槛运行:无需复杂环境配置🎯 本地部署:支持多卡并行推理🧰 丰富模型:官方持续更新模型库。
2025-04-23 09:53:34
349
原创 大数据-271 Spark MLib - 基础介绍 机器学习算法 线性回归 场景 定义 损失 优化
线性回归(Linear Regression)是利用回归方程(函数)对一个或多个自变量和因变量之间关系进行建模的一种分析方式特点:只有一个自变量的情况称为单变量回归,多于一个自变量情况的叫做多元回归如下图的例子:上面两个例子,我们看到特征值与目标值之间建立了一个关系,这个关系可以理解为线性模型。
2025-04-11 12:25:38
996
原创 大数据-270 Spark MLib - 基础介绍 机器学习算法介绍 WordCount 代码编写 三个测试案例
SparkMLib 是Spark的机器学习库(Machine Learning),封装了一些通用机器学习算法和工具,便于我们开展机器学习实践。常用算法:包括类、回归、聚类和协同过滤特征化工具:包括特征提取、转换、降维和选择工具管道:用于构建、评估和调整机器学习管道的工具持久化工具:保存和加载算法、模型、管道其他工具:线性代数、统计、数据处理等。
2025-03-10 14:18:43
7213
原创 大数据-269 实时数仓 - DIM DW ADS 层处理 Scala实现将数据写出HBase等
DW(Data WareHouse 数据仓库层),包含 DWD、DWS、DIM 层数据加工而成,主要完成数据架构与整合,建立一致性的维度,构建可复用的面向分析和统计的明细事实表,以及汇总公共粒度的指标。基于 DW 数据,整合汇总成主题域的服务数据,用于提供后续的业务查询等。在分析交易过程时,可以通过卖家、买家、商品和时间等维度描述交易发生的环境,所以维度的作用一般是查询约束、分类汇总以及排序等。转换 area 表 到 地区ID、地区的名字、城市ID、城市的名字、省份 ID、省份的名字 到 HBase 中。
2025-01-03 10:42:57
11262
原创 大数据-268 实时数仓 - ODS层 将 Kafka 中的维度表写入 DIM
在 Kafka 中写入维度表(DIM)通常涉及将实时或批处理数据从 Kafka 主题(Topic)读取,并根据数据流中的信息更新维度表(DIM),这在数据仓库或数据湖的 ETL(提取、转换、加载)过程中非常常见。维度表(DIM)存储的是与业务数据相关的维度信息,例如客户、产品、地理位置等,用于支持 OLAP(联机分析处理)查询。
2025-01-03 10:36:34
10570
原创 大数据-267 实时数仓 - ODS Lambda架构 Kappa架构 核心思想
在互联网企业中,常见的 ODS 数据有业务日志数据(Log)和业务 DB 数据两类,对于业务 DB 数据来说,从 MySQL 等关系型数据库的业务数据进行采集,然后导入到 Hive 中,是进行数据仓库生产的重要环节。它的作用是存储大量的结构化数据,并能进行频繁和可重复的分析。为了彻底解决这些问题,我们逐步实时 binlog 采集进行实时处理,binlog 是 MySQL的二进制日志,记录了 MySQL 中发生的所有数据的变化,MySQL 集群自身的主从同步就是基于 binlog 做的。
2025-01-02 17:20:15
8445
原创 大数据-266 实时数仓 - Canal 对接 Kafka 客户端测试
Canal 是阿里巴巴开源的 MySQL binlog 增量订阅与消费平台。它模拟 MySQL 的主从复制机制,通过解析 MySQL 的二进制日志(binlog),实现数据库变更的数据捕获(CDC, Change Data Capture)。数据同步:支持将数据库的变更数据同步到其他数据源或消息系统,如 Kafka、RocketMQ、Elasticsearch 等。实时性:基于 binlog 的解析和订阅,能够实现毫秒级的数据变更捕获。分布式架构:支持集群部署,满足高可用性和高吞吐量需求。
2025-01-02 17:14:12
6886
原创 大数据-265 实时数仓 - Canal 部署安装 启动服务 常见问题解决
Canal 是阿里巴巴开源的数据同步工具,用于 MySQL 数据库的增量日志解析和同步。它模拟 MySQL 从库协议,获取主库的 binlog 日志,从而实现实时数据捕获和传输,常用于数据迁移、缓存更新和搜索引擎同步等场景。Canal 集群模式通常结合 ZooKeeper 实现分布式协调,保证高可用性和负载均衡。独立实例模式:多个 Canal 实例独立运行,适合小规模场景。HA 模式:基于 ZooKeeper 实现主备切换,提高可靠性。
2024-12-31 09:09:21
6365
原创 大数据-264 实时数仓 - Canal MySQL的binlog研究 存储目录 变动信息 配置MySQL
MySQL 的二进制日志(Binary Log,简称 binlog)是 MySQL 数据库中的一种日志文件类型,它记录了对数据库执行的所有更改操作(不包括 SELECT 和 SHOW 等查询操作)。它主要用于数据恢复、复制和审计等场景。
2024-12-30 12:33:22
6203
原创 大数据-263 实时数仓 - Canal 工作原理 工作流程 MySQL Binglog基本介绍
Canal 是一款用于 MySQL 数据库 binlog 增量订阅和消费的开源工具。它主要用于解决数据同步和分布式事务问题,支持将数据库变更同步到其他系统中,比如消息队列、大数据平台等。Master 主库将改变记录写进二进制 binary log 中Slave 从库向 MySQL Master 发送 DUMP 协议,将 Master 主库的 binary log events 拷贝到它的中继日志(relay log)。Slave 从库读取并重做中继日志中的事件,将改变的数据同步到自己的数据库。
2024-12-30 08:52:57
5977
原创 Java-38 深入浅出 Spring - AOP切面增强 核心概念 相关术语 Proxy配置
上图描述的就是未采用的 AOP 思想的设计的程序,当我们红色框中圈定的方法时,会带来大量的重复劳动,程序中充斥着大量的重复代码,使我们程序的独立性很差,而下图中采用了 AOP 思想涉及的程序,它把红框部门的代码抽取出来的同时,运用动态代理技术,在运行期间对需要使用业务逻辑方法进行增强。改变代理的配置,Spring 在选择创建代理的时候,会根据被代理对象实际情况来选择的,被代理对象实现了接口,则采用基于接口的动态代理,当被代理对象没有实现任何接口的时候,Spring 会自动切换到基于子类的动态代理方式。
2024-12-29 09:39:41
4909
1
原创 大数据-262 实时数仓 - Canal 同步数据 介绍背景原理与优势 拉链表 实时统计
阿里巴巴 B2B 公司,由于业务的特性,卖家主要集中在国内,买家主要集中在国外,所以衍生出了杭州和美国异地机房的需求,从 2010 年开始,阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅、消费的业务。Canal是用 Java 开发的基于数据库增量日志解析,提供增量数据订阅、消费的中间件。目前,Canal主要支持了 MySQL 的 Binlog 解析,解析完成后才利用 Canal Client 用来处理获得相关数据。
2024-12-29 09:03:35
7099
原创 Java-37 深入浅出 Spring - IoC容器体系 循环依赖 原型Bean 原型作用域 Lazy ObjectFactory
循环依赖是循环引用,也就是两个或者两个以上的 Bean 互相持有对方,最终形成环:注意,这里不是函数的循环调用,是对象的相互依赖关系,循环调用其实是一个死循环,除非有终止条件。构造器的循环依赖(构造器注入)Field 属性的循环依赖(set 方法注入)其中,构造器的循环依赖无法解决,只能抛出:BeanCurrentlyInCreationException 的异常,在解决属性循环以来的问题的时候,Spring 采用的是提前暴露对象的方法。
2024-12-28 20:54:58
5197
原创 大数据-261 实时数仓 - 业务数据库表结构 交易订单、订单产品、产品分类、商家店铺、地域组织表
实时数仓是一种数据仓库系统,区别于传统批处理数仓,它强调低延迟、高吞吐和高可用性。实时数仓能够处理流式数据或近实时的数据流,使企业能够及时监控关键指标并做出决策。实时数仓是现代企业实现实时决策和分析的重要工具,它通过低延迟、高并发的特点满足企业对时效性数据的需求。尽管实时数仓的搭建与维护具有一定的复杂性,但其在业务分析、风控管理和用户行为分析等方面具有显著优势。随着技术的发展,实时数仓将会更加智能化、云原生化,为企业带来更高的竞争力。
2024-12-28 11:45:27
6502
原创 Java-36 深入浅出 Spring - IoC容器体系 BeanFactory过程分析 Bean Lazy-Init
Resource 定位:指定 Beandefinition 的资源定位过程,就是 JavaBean 信息的 XML 文件,将其封装为 Resource 对象。BeanDefinition 载入:把用户定义好的 JavaBean 表示为 IoC 容器内部的数据结构,这个容器内部的数据结构就是 BeanDefinition。
2024-12-27 21:14:58
9032
2
原创 大数据-260 实时数仓 - 项目背景与需求 实时数仓架构 需求分析 技术选型 逻辑架构
数据实时处理能力成为企业提升竞争力的一大因素,最初阶段主要采用来一个需求,编写一个实时任务的方式来处理实时数据,随着需求的增多,计算任务也相对增多,并且不同任务的开发人员不同,导致开发风格差异化,该阶段的实时数据处理缺乏统一的规划,代码风格差异化严重,在维护成本和开发效率上有很大障碍。CDH:最成型的发型版本,拥有最多的部署案例,提供强大的部署、管理和监控工具,国内使用最多的版本,拥有强大的社区支持,当遇到问题时,能够通过社区、论坛等网络资源快速获取解决方法。数据、任务和资源三个角度去管理 集群资源。
2024-12-27 10:27:03
6811
原创 Java-35 深入浅出 Spring - IoC容器体系 Bean源码 断点分析 IoC容器实例化分析
创建 IoC 容器之后,容器会加载 Bean 定义,这些定义通常是通过配置文件(XML 配置文件或注解)提供的。容器会解析这些配置,加载所有 Bean 的元数据。Spring 支持 XML 配置文件、注解配置以及 Java 配置类的方式。XML 配置:解析 XML 文件中的 标签,获取 Bean 的名称、类型、属性、构造函数参数等信息。注解配置:通过扫描指定的包或类,查找如 @Component、@Service、@Repository、@Configuration 等注解标记的类。
2024-12-25 09:18:23
5066
原创 大数据-259 离线数仓 - Griffin架构 修改配置 pom.xml sparkProperties 编译启动
用户可以自定义规则,使用 JSON 或其他标准格式来描述数据质量的各项要求。这些规则能够对数据进行周期性检查,并在发现问题时发出警报或进行自动修复。Apache Griffin 是一个开源的数据质量管理框架,旨在帮助组织在大数据环境中监控和提高数据质量。它提供了一套用于定义、度量和报告数据质量标准的工具,支持批处理和流处理数据。Apache Griffin 的核心功能包括数据质量的检测、评估、监控和报告,适用于大数据处理平台,如 Hadoop、Spark、Flink 等。
2024-12-25 09:02:18
7401
1
原创 Java-34 深入浅出 Spring - IoC容器体系 Bean生命周期 PostProcessor applicationContext
IoC(Inversion of Control,控制反转)是一种设计原则,指的是将对象的控制权从程序中转移到外部容器或框架中。传统的面向对象编程(OOP)中,类的实例化、依赖关系管理等通常由程序代码显式地控制,而在 IoC 中,容器负责这些工作。IoC 使得类的依赖关系从硬编码转化为动态注入,从而增强了系统的可扩展性、可维护性以及解耦性。在 IoC 中,控制反转的核心思想是:系统中不再由应用程序显式地创建对象,而是通过容器来创建和管理对象。容器负责控制对象的生命周期,并在需要时为对象提供依赖。
2024-12-24 10:12:28
5597
1
原创 大数据-258 离线数仓 - Griffin架构 配置安装 Livy 架构设计 解压配置 Hadoop Hive
Livy 是一个用于 Apache Spark 的 REST 接口,旨在简化 Spark 作业的提交和管理,特别是在大数据处理场景中。它的主要功能是通过 REST API 与 Spark 集群进行交互,允许用户提交作业、执行代码片段并查询作业的状态和结果,而不需要直接与 Spark 的底层架构交互。简化 Spark 作业提交:用户可以通过 HTTP 请求向 Livy 发送 Spark 作业,而不需要直接使用 spark-submit命令。
2024-12-24 09:36:33
7057
原创 Java-33 深入浅出 Spring - FactoryBean 和 BeanFactory BeanPostProcessor
BeanFactory 接口是容器的顶级接口,定义了容器的一些基础行为,负责生产和管理 Bean 的一个工厂,具体使用它下面的子接口类型,比如 ApplicationContext,此处我们重点分析:FactoryBeanSpring 中 Bean 有两种,一种普通 Bean,一种是工厂 Bean(FactoryBean),FactoryBean 可以生成某一个类型的对象实例,也就是我们可以借助它来自定义 Bean 的创建过程。
2024-12-23 10:48:48
3543
原创 大数据-257 离线数仓 - 数据质量监控 监控方法 Griffin架构
Apache Griffin是一个开源的大数据质量解决方案,它支持批处理和流处理两种模式的数据质量检测方式。可以从不同的维度(如离线任务执行完毕后检查源端和目标端的数据质量是否一致,源表数据值空值等)度量数据资产,从而提升数据的准确度、可信度。数据质量监控通常结合自动化工具和人工审查,利用数据质量管理平台进行实时监控,生成报告并触发警报,以便及时纠正问题。这些工具和方法帮助企业确保其数据可以用于可靠的分析和决策。
2024-12-23 10:31:49
6139
原创 Java-32 深入浅出 Spring - IoC 基础 启动IoC 纯注解方式 SpringConfig web.xml
现在,我们将移除 annotation-config 和 component-scan ,将这些也通过 Java 的类和注解来实现。改造 XML + 注解的模式,将 XML 中遗留的内容全部迁出,最终移除 XML。这里对于数据库的链接,也交给 Spring 进行管理了。细节就不过多展示了,我这边测试了,程序一切正常。启动的配置类中,这里通过注解的方式进行扫描。
2024-12-21 09:04:37
3581
原创 大数据-256 离线数仓 - Atlas 数据仓库元数据管理 正式安装 启动服务访问 Hive血缘关系导入
元数据(MetaData)狭义的解释是用来描述数据的数据。广义来看,除了业务逻辑直接读写处理的那些业务数据,所有其他用来维持整个系统运转所需的信息、数据都可以叫做元数据,如数据库中表的Schema信息,任务的血缘关系,用户和脚本、任务的权限映射关系信息等。管理元数据的目的,是为了让用户能够更高效的使用数据,也是为了平台管理人员能更加有效的做好数据的维护管理工作。但通常这些元数据信息是散落在平台的各个系统,各种流程中,它们的管理也可能或多或少可以通过各种子系统自身的工具,方案或者流程逻辑来实现。
2024-12-21 08:57:20
5993
原创 Java-31 深入浅出 Spring - IoC 基础 启动IoC XML与注解结合的方式 配置改造 applicationContext.xml
这里需要注意,按理来说,我们应该在 WzkServlet 上也写 Compont 和 Autowired 来注入我们的 WzkTransferService,但是实际上呢,Component 和 Servlet 注解是冲突的。这个目的是让 Spring 接管我们的 Bean,而此时,我们可以将这一系列的 Bean 配置都移除出去,使用注解的方式来满足我们的 Bean 管理。接下来我们将刚才的 纯 XML 的模式的代码,改造成 注解 + XML 的方式,解放出一定的 XML 来。
2024-12-20 11:34:02
6303
2
空空如也
Git的基本内容介绍
2024-10-08
大模型对生活和工作的改变
2024-09-28
人工智能时代,程序员如何保持核心竞争力?
2024-09-25
关于#Spark# #Flink#的问题,如何解决?
2024-09-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人