自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据仓库中的业务域与数据域

通常需要先理解业务域,然后将其映射为适合分析的数据域,这是一个从业务需求到数据实现的过程。电商系统中的"订单域"、"会员域"、"商品域"、"营销域"、"物流域"等。金融系统中的"客户域"、"账户域"、"交易域"、"风控域"等。划分的领域,反映了企业的业务架构和业务流程。与企业的组织架构和业务部门对应。体现业务的专业领域和职责范围。数据管理和分析视角划分的领域。基于实际业务功能和流程划分。数据的主题分类和分析维度。面向数据分析而非业务流程。基于数据主题和关联性划分。为数据建模和分析服务。

2025-05-25 22:17:05 121

原创 DCMM:数据管理能力成熟度评估模型

DCMM为企业数据管理提供了系统性“体检表”和“路线图”,尤其适合中国本土企业结合政策与业务需求,循序渐进提升数据能力。通过DCMM认证,企业不仅能获得合规背书,更能释放数据资产价值,实现从“数据支撑业务”到“数据驱动业务”的跨越。该模型旨在帮助企业系统化评估和提升数据管理能力,推动数据价值释放和数字化转型。:适用于所有依赖数据驱动的企业或组织,尤其是金融、制造、政务、互联网等行业。: 建立统一数据治理委员会,整合分散的客户数据,实现风险管控和精准营销。:与AI、区块链结合,提升数据管理自动化水平。

2025-05-12 08:39:51 520

原创 元数据和主数据

主数据是动态的业务实体(如客户、产品),而参考数据是静态的分类标准(如国家代码、货币类型),两者需分开管理。数据字典是元数据的一种表现形式,但元数据涵盖更广(如血缘关系、权限信息)。:客户信息(姓名、联系方式)、产品信息(型号、价格)、供应商信息等。:数据库表的字段名称、数据类型、数据来源、创建时间、访问权限等。主数据本身需要元数据来描述其结构(如客户表的字段定义);,用于描述数据的属性、结构、来源、用途等上下文信息。支撑业务流程(如销售、采购、财务)的标准化操作;辅助数据治理、数据质量管理、数据集成等。

2025-05-11 23:17:59 328

原创 DAMA车轮图

管理“关于数据的数据”,描述数据的定义、来源、结构、用途等,支持数据发现、血缘分析和治理。统一管理企业核心业务实体(如客户、产品、供应商),确保关键数据的一致性、唯一性和准确性。涵盖数据库设计、存储架构、数据操作(增删改查)及性能优化,确保数据的高效存取和可用性。管理非结构化数据(文档、图像、视频等),包括存储、检索、版本控制和权限管理。通过规则定义、清洗、监控等手段,提升数据的准确性、完整性、一致性和及时性。保护数据的机密性、完整性和可用性,包括权限控制、加密、脱敏、审计等。补充非结构化数据的治理。

2025-05-11 23:13:11 521

原创 数据指标和数据标签

数据指标是“量化衡量的尺子”,数据标签是“分类描述的标签”,两者共同支撑数据驱动的精细化运营。例如:通过“用户年龄段”(标签)分组统计“人均消费金额”(指标),分析不同年龄段的消费能力。:统计“VIP用户”(标签)在“双十一期间”(标签)的“客单价”(指标),优化营销策略。:商品类目(服饰/家电)、用户等级(VIP/普通)、促销类型(秒杀/满减)。例如:根据“近30天购买频率”(指标)定义“高活跃用户”(标签)。:监控“高风险客户”(标签)的“逾期率”(指标),调整风控策略。:逾期率、贷款审批通过率。

2025-05-11 22:54:45 709

原创 数字孪生概念

基于物理实体的数字映射,通常结合3D建模、物理规律(如热力学方程)和数据驱动模型(如机器学习算法)。:通过传感器、IoT设备、API等实时获取物理实体的运行数据(如温度、压力、位置、能耗)。:定义数字孪生模型的业务含义(如设备参数标签)和技术属性(如数据更新频率)。:确保数字孪生数据的合规性(如隐私保护)和一致性(如多版本模型管理)。:真实的设备、系统或环境(如一台发动机、一座工厂、一条城市道路)。:多源异构数据(结构化、非结构化、实时流数据)的清洗与融合。

2025-05-11 22:47:08 939

原创 元数据分类

通过整合这三类元数据,企业可以实现更高效的数据治理(Data Governance)、数据质量管理(Data Quality Management)和合规性管理。: 例如,在数据血缘分析中,技术元数据描述数据如何从源系统流向目标表,业务元数据解释目标表的业务意义,而操作元数据记录这一过程的执行时间和错误情况。:从业务角度描述数据的含义、用途和业务规则,帮助业务人员理解数据的业务上下文。元数据(Metadata)是描述数据的数据,通常分为。是数据管理的基础,支撑数据的存储、处理和集成。

2025-05-11 22:19:11 363

原创 映射表详解

是一种用于存储不同系统或上下文中实体之间对应关系的表。:不同系统使用不同的唯一标识符(如用户ID、产品编码)。:实体之间存在复杂关联(如用户与用户组的归属)。:确保映射关系100%正确(可通过自动化校验)。通过ETL工具监听源系统变更,实时更新映射表。:支持动态新增映射规则(如新旧编码交替)。带时间的映射:增加时间字段(如。:合并异构数据源时统一标识符。映射表是数据整合和系统交互中的。:通过索引和分区优化查询性能。简单映射:联合主键(如。:对映射关系打标签(如。:定期清理过期映射(如。

2025-05-11 01:34:33 531

原创 桥接表详解

桥接表是解决多对多关系的标准方法,核心设计步骤:创建基础表(如student和course创建桥接表(如),通过外键关联基础表。在桥接表中存储额外关联信息(如成绩、时间等)。用户与用户组的关联商品与多个标签的关联医生与患者的诊疗关系以下是一个简单的桥接表示例,用的场景来说明桥接表的作用。学生(Student)可以选修多门课程(Course)。一门课程(Course)也可以被多个学生选修。这是一个典型的,需要用桥接表()来管理学生和课程的关联关系。

2025-05-11 01:28:11 345

原创 代理键和自然键

自然键是。

2025-05-11 00:50:54 467

原创 缓慢变化维和周期变化维

追踪商品促销标签(如“双11大促”“618预热”)的变化历史,支持分析不同促销期的转化率差异。通过定期维护(如归档、索引优化)和业务对齐(如淘汰无效周期),可避免维度退化,提升数仓健壮性。的方式变化(如客户地址变更、产品分类调整)。结合SCD Type 2与周期标记,处理既有缓慢变化又有周期性调整的属性。混合场景中可结合代理键、时间范围和周期字段,平衡历史追踪与查询效率。:将低频周期维度合并为“其他”类别(如合并季度销售区域为年度)。:删除不再使用的周期版本(如5年前的价格表)。),每条记录绑定特定周期。

2025-05-11 00:37:36 578

原创 维度退化及其处理方法解析

类似问题可出现在商品类目(过时分类)、时间维度(分钟级粒度未被使用)等场景中,需结合具体业务动态调整。:该维度无法有效区分用户群体,分析时导致“维度分裂”(大量查询结果集中在APP渠道)。:90%的用户注册渠道标记为“APP”(早期主推APP注册,其他渠道流量极少)。:解决单一维度区分度低的问题(如“APP_VIP用户”可能复购率更高)。:渠道分类混乱(如“H5”被拆分为“H5-促销页”“H5-广告页”)。:部分渠道已下线(如“PC端注册”),但字段仍保留旧值。:将渠道属性与其他字段组合,生成衍生维度。

2025-05-11 00:29:51 596

原创 Pandas 内存不足 或 UDF 执行慢

针对 Pandas 内存不足 和 UDF(用户自定义函数)执行慢 的问题,以下是系统性优化方案,结合内存管理、计算加速和代码重构技巧:压缩数据类型:减少数值型数据内存占用。 效果:内存占用减少 50%~70%。稀疏数据存储:对高稀疏度列(如大量0或NaN)使用稀疏矩阵。 2. 分块处理(Chunk Processing) 流式读取大数据文件:避免全量加载到内存。 3. 内存释放 手动释放无用对象: 避免深拷贝:使用 或引用传递减少复制。

2025-05-10 16:02:00 953

原创 Hive JOIN 优化策略详解

某些 JOIN 键的数据量远高于其他键(如用户 ID 为 123 的订单占全表 50%),导致部分 Reducer 负载过重,任务执行时间显著延长。通过合理组合这些技术,可显著提升 Hive 处理大规模 JOIN 的效率。:若两表按相同键分桶且分桶数相同,可直接在 Map 端匹配桶文件,无需 Shuffle。:通过分桶将相同键的数据物理聚集,减少 JOIN 时的数据移动。按 JOIN 键的哈希值将数据分布到固定数量的桶中。高频 JOIN 操作,且 JOIN 键固定。:每个桶内的数据按 JOIN 键排序。

2025-05-10 15:56:12 837

原创 Hive表JOIN性能问

在处理100TB+的Hive表JOIN性能问题时,需采用分层优化策略,结合数据分布特征、存储格式和计算引擎特性。:统计JOIN键的分布频率,定位数据量异常的Key(如某用户订单量占总量50%)。:对两表按JOIN Key分桶,相同Key的数据落入同一桶,避免Shuffle。:利用Bucket Join或SMB Join消除Shuffle。:对倾斜Key添加随机后缀,分散到多个Reducer处理。:自动将小表分发到所有Mapper,避免Reduce阶段。:两表分桶且桶内数据按JOIN Key排序。

2025-05-10 15:46:49 564

原创 AST(抽象语法树)与 HBO(基于历史的优化)详解

AST 是 SQL 语句的树形结构表示,由 Hive 解析器生成,反映查询的语法逻辑(如 SELECT、JOIN、WHERE 等操作的嵌套关系)。:在 CBO 基础上,进一步结合历史执行数据(如实际资源消耗)进行动态调整,属于 CBO 的增强版。:HBO 通过收集历史执行数据(如统计信息、执行计划性能)动态优化后续查询,属于。:Hive 优化器通过遍历和修改 AST,重构查询逻辑,生成更高效的计算路径。:基于统计信息估算执行计划成本(如 CPU、I/O、网络开销),选择最优方案。

2025-05-10 15:32:40 827

原创 多层嵌套子查询

结合 Hive 日志或第三方工具(如 Apache Atlas、Tez UI)分析历史任务。:将过滤条件尽可能下推到靠近数据源的子查询中,减少中间结果集。:优化器根据统计信息选择更优的 Join 顺序或聚合策略。在优化多层嵌套子查询的 Hive SQL 时,除了常见的。:Hive 通过统计信息(表大小、列基数)优化执行计划。:小表优先 Join,减少数据 Shuffle 量。:根据历史执行数据,增加 Reducer 并行度。:利用分区键过滤无关分区,减少数据扫描量。:识别未下推的谓词或未裁剪的分区。

2025-05-10 15:27:56 924

原创 在 Flink + Kafka 实时数仓中,如何确保端到端的 Exactly-Once

定期将算子的状态(State)和 Kafka 消费偏移量(Offset)持久化到可靠存储(如 HDFS、S3)。:Flink 的 Kafka Producer 在 Checkpoint 完成时提交事务,确保数据仅写入一次。的协同机制,可以实现从 Kafka 消费到 Kafka 写入的端到端 Exactly-Once。:从 Kafka 读取交易流水,实时计算用户交易频次(1分钟内超过10次触发风控),结果写回 Kafka。:在 Checkpoint 完成时提交事务,确保数据仅写入一次。

2025-05-10 15:04:54 1213

原创 Kimball

其维度建模思想至今仍广泛应用于现代数据平台(如Snowflake、BigQuery)和BI工具(如Tableau、Power BI)的设计中。它旨在通过简单、高效的数据结构设计,支持业务用户快速、直观地分析数据。:通过迭代开发,优先实现关键业务场景的数据模型,而非一次性构建庞大的企业级仓库。JOIN 产品维度表 ON 销售事实表.产品ID = 产品维度表.产品ID。:从用户的业务分析场景(如销售分析、库存监控)出发设计数据模型。数据冗余:维度表可能包含重复信息(如地区名称)。产品维度:品类、品牌、SKU。

2025-05-10 13:00:12 329

原创 Flink和Spark的选型

(如Keyed State、Operator State),支持精确一次(Exactly-Once)语义,适合复杂事件处理(CEP)或需维护长会话状态的任务(如用户行为分析)。(Spark Streaming)或连续处理(Structured Streaming),延迟通常在秒级,适合准实时场景或批处理为主的混合负载(如T+1报表、离线ETL)。某电商平台需实时分析用户点击流数据,检测异常行为(如刷单),要求延迟低于500ms,且需维护用户会话状态(如30分钟无活动则关闭会话)。的流处理优先架构,支持。

2025-05-10 12:54:40 696

原创 One Data理论

阿里巴巴的 “OneData”理论 是其数据中台战略的核心方法论之一,旨在解决企业数据分散、标准不统一、重复开发等问题,通过构建统一的数据资产体系,实现数据的标准化、资产化和服务化,最终驱动业务高效创新。“OneData”理论的核心内容和实践方式:不同企业或技术框架中的定义可能存在差异,但通常情况下,ONE ID、ONE Model、ONE Service 确实是其核心组成部分。以下是更清晰的解释:阿里巴巴的“OneData”本质是通过标准化、资产化、服务化重构企业数据体系,使其从“成本中心”转变为“价值中

2025-05-10 10:07:57 305

原创 阿里云的日志服务

SLS通常指的是“Serverless Logging Service” 或者是阿里云的日志服务(Log Service)。在云计算和大数据处理领域中,尤其是在提到阿里云时,SLS往往指的是阿里云的日志服务。总之,阿里云日志服务是一个强大的工具,适用于需要处理和分析大规模日志数据的企业和个人开发者。通过简化日志管理流程,它有助于提高运维效率、优化性能监控,并支持基于日志数据的商业智能决策。是一个完全托管的日志大数据平台,提供从日志采集、消费到查询分析、可视化、告警以及投递等一站式服务。

2025-01-04 08:35:29 611

原创 Hologres支持的数据类型

Hologres支持的数据类型及数组类型 - 实时数仓Hologres - 阿里云

2025-01-04 08:24:46 201

原创 生成 requirements.txt

为了直接生成文件,可以使用pipreqs或者pip freeze。

2024-12-15 14:03:33 1096

原创 Linux排查cpu运行负载过高

如果你知道某些特定的用户或命令可能有问题,可以过滤这些。这个命令将列出 CPU 使用率最高的前10个进程。列,找出占用 CPU 最多的进程。) 等不同类型的 CPU 使用率。操作系统内核使用的 CPU 时间。先输入top再输入1,查看。应用程序使用的 CPU 时间。每一行显示了用户空间 (

2024-12-15 13:16:33 891

原创 supervisor使用详解

Supervisor 是一个用 Python 编写的客户端/服务器系统,它允许用户在类 UNIX 操作系统(如 Linux)上监控和控制进程。Supervisor 并不是一个分布式调度框架,而是一个进程管理工具,它可以用来启动、停止和重启程序,并且可以自动重启崩溃的程序,确保它们保持运行状态。管理多个子进程按照配置文件简单的 Web 界面用于查看所有受管进程。

2024-12-14 22:14:23 659

原创 .idea

idea/文件夹下的文件和目录主要用于存储 JetBrains IDE(如 PyCharm、IntelliJ IDEA 等)的项目配置。

2024-12-12 10:31:04 686

原创 __pycache__

是 Python 解释器自动生成的一个目录,用于存储编译后的 Python字节码文件(.pyc 文件)。这些字节码文件是 Python 源代码(.py 文件)经过编译后生成的中间表示形式。使用.pyc文件的主要目的是为了提高程序的。

2024-12-12 09:17:41 455

原创 Flink CDC

Flink CDC(变更数据捕获)是一种技术,它允许实时地捕获和处理数据库中的变化。通过 Flink CDC,可以从支持的数据库中读取更改记录(如插入、更新、删除操作),并将这些更改流式传输到其他系统或进行实时分析。这项技术对于构建实时数据管道、实现数据同步以及维护多个数据源之间的一致性非常有用。

2024-12-10 10:15:01 747

原创 Flink Python作业快速入门

【代码】Flink Python作业快速入门。

2024-12-09 20:26:11 376

原创 Flink SQL作业快速入门

这段代码是使用Apache Flink SQL来处理来自阿里云日志服务(SLS)的GitHub事件数据。它创建了一个临时表gh_event,该表连接到SLS以读取GitHub事件流,并设置了一些Flink作业的配置参数。最后,它执行了一个查询,用于计算当天获得新星标(star)最多的前10个GitHub仓库。

2024-12-09 16:49:03 592

原创 mysql-增量更新

【代码】mysql-增量更新。

2024-12-06 00:03:42 283

原创 Flink版(Flink)-阿里云

快速入门_实时计算 Flink版(Flink)-阿里云帮助中心

2024-12-04 15:28:08 159

原创 Python中的继承(Inheritance)思想

一个子类只继承一个父类。

2024-12-04 14:31:35 824

原创 Python中的封装(Encapsulation)思想

封装的核心思想是将对象的数据(属性)和行为(方法)打包在一起,并限制外界对它们的直接访问。是 Python 中的一个内置装饰器,它允许将类的方法定义为属性,从而可以像访问类的属性一样访问这些方法,而不需要使用括号调用它们。:封装和多态相辅相成,封装允许将实现隐藏,而多态允许对象在运行时决定具体调用的实现,使得代码的扩展性更强。:虽然双下划线的属性和方法是“私有”的,但实际上 Python 只是对它们的名称进行了重整。:封装可以结合继承一起使用,通过子类继承父类的公有方法和受保护的属性,封装性依然得以保持。

2024-12-04 13:59:57 690

原创 ProcessPoolExecutor怎么使用?

虽然模块提供了更多灵活的进程控制功能,但简化了多进程并发的实现,特别适合处理大量 CPU 密集型任务。它的使用十分广泛,尤其在需要同时管理多个任务结果时,Future对象极大地降低了代码的复杂性。

2024-12-04 13:44:55 454

原创 multiprocessing模块怎么使用?

Python 的模块为我们提供了丰富的工具来处理多进程编程中的各种需求。从基础的Process类,到高级的进程间通信、同步机制,每种工具都有其适用的场景。Process:创建和管理独立进程。Pool:通过进程池并发执行多个任务。Queue和Pipe:实现进程间的安全通信。Lock和Semaphore:用于进程间的同步和共享资源控制。ValueArray和Manager:在进程间共享数据。

2024-12-04 11:36:38 698

原创 线程池与进程池的区别是什么?

管理多个进程,适合CPU 密集型任务,不受 GIL 限制。:管理多个线程,适合I/O 密集型任务,受 GIL 限制。

2024-12-04 11:10:14 461

原创 python生成器函数

对于非常大的文件,可以采用分批处理的方法,即每次处理一部分数据,这样可以在保持较低内存占用的同时完成对整个文件的处理。如果操作可以直接在线性遍历中完成(例如过滤、映射转换),可以在遍历的同时直接应用这些操作,而不需要额外的数据结构。如果文件不是特别大,以至于整个内容可以安全地存储在内存中,可以将所有行收集到一个列表里,然后对这个列表进行操作。生成器可以作为数据管道的一部分,每个生成器负责处理数据的一个步骤,并将结果传递给下一个生成器。当需要处理非常大的数据集时,使用列表或其他容器可能会占用大量的内存。

2024-12-04 09:54:21 270

原创 get_db

在get_db函数中使用 yield关键字,而不是直接返回 (return数据库会话对象,是为了实现更复杂的行为,即延迟执行和资源管理。以下是为什么要使用yield。

2024-12-04 09:45:56 473

空空如也

空空如也

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

TA关注的人

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