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

原创 最强最全面的数仓建设规范指南
目录一、数据模型架构原则1. 数仓分层原则2. 主题域划分原则3. 数据模型设计原则二、数仓公共开发规范1. 层次调用规范2. 数据类型规范3. 数据冗余规范4. NULL字段处理规范5. 指标口径规范6. 数据表处理规范7. 表的生命周期管理三、数仓各层开发规范1. ODS层设计规范2. 公共维度层设计规范3. DWD明细层设计规范4. DWS公共汇总层设计规范四、数仓命名规范1. 词根设计规范2. 表命名规范3. 指标命
2021-11-11 12:05:33
4511
18
原创 数仓面试中3个常考的SQL数据分析题
经过内层的处理后,只需在外层筛选出next_login_time与login_time字段的日期差小于5天的数据,即最终统计的目标数据,这里使用了TIMESTAMPDIFF(DAY, login_time, next_login_time)计算日期差,最后分组聚合统计不同user_id的记录个数,即每个用户登录日期间隔小于5天的次数。而想要展示更全的信息,则考虑使用最全的信息(所有日期和3个渠道的笛卡尔积)与刚查询出的结果数据表进行LEFT JOIN连接,即可得到两张表根据日期和渠道进行连接的结果。
2024-12-22 11:19:08
915
1
原创 美团外卖实时数仓建设实践
文章首发于公众号【五分钟学大数据】,在公众号后台发送:面试,即可获取最新的大数据面试题一、实时技术及架构1. 实时计算技术选型目前,市面上已经开源的实时技术还是很多的,比较通用的有Spark Streaming、Flink等,技术同学在做选型时要根据公司的具体业务来进行部署。美团外卖依托于美团整体的基础数据体系建设,从技术成熟度来讲,公司前几年主要用的是Storm。当时的Storm,在性能稳定性、可靠性以及扩展性上也是无可替代的。但随着Flink越来越成熟,从技术性能上以及框架设计优势上已经
2024-12-22 11:15:31
851
原创 数据仓库之数据质量建设
根据当数据质量不满足完整性、规范性、一致性、准确性、唯一性、及时性时,对业务的影响程度大小来划分数据的资产等级。毁灭性:数据一旦出错,会引起巨大的资产损失,面临重大收益受损等。标记为 L1全局性:数据用于集团业务、企业级效果评估和重要决策任务等。标记为 L2局部性:数据用于某个业务线的日常运营、分析报告等,如果出现问题会给该业务线造成一定的影响或影响其工作效率。标记为 L3一般性:数据用于日常数据分析,出现问题的带来的影响很小。标记为 L4未知性质:无法追溯数据的应用场景。标记为 Lx。
2024-12-15 18:45:28
1536
原创 最容易出错的 HiveSQL 详解
在进行数仓搭建和数据分析时最常用的就是 sql,其语法简洁明了,易于理解,目前大数据领域的几大主流框架全部都支持sql语法,包括 hive,spark,flink等,所以sql在大数据领域有着不可替代的作用,需要我们重点掌握。在使用sql时如果不熟悉或不仔细,那么在进行查询分析时极容易出错,接下来我们就来看下几个容易出错的sql语句及使用注意事项。
2024-12-15 18:43:55
994
原创 数仓之路:数仓中的问题与解决方案
小A进入一家网约车出现服务公司,负责公司数仓建设,试用期主要一项 OKR是制定数据仓库建设规划;因此小 A 本着从问题出发为原点,先对公司数仓现状进行一轮深入了解,理清存在问题,然后在以不忘初心原则提出解决问题方案。相信很多数据建设者在公司发展某个阶段时都会遇到类似小 A 公司问题,也在思考或已经在执行落地解决这些问题方案,希望通过小 A 案例可以给大家一些启发。下面先看看小 A 公司数仓现状与问题01小 A 公司创建时间比较短,才刚过完两周岁生日没多久;
2024-11-06 20:11:04
1091
原创 Spark底层执行原理详细解析
Apache Spark是用于大规模数据处理的统一分析引擎,基于内存计算,提高了在大数据环境下数据处理的实时性,同时保证了高容错性和高可伸缩性,允许用户将Spark部署在大量硬件之上,形成集群。Spark源码从1.x的40w行发展到现在的超过100w行,有1400多位大牛贡献了代码。整个Spark框架源码是一个巨大的工程。下面我们一起来看下spark的底层执行原理。
2024-11-06 20:09:16
1227
原创 详解大厂实时数仓建设
1. 近实时的数据接入前面介绍了 Iceberg 既支持读写分离,又支持并发读、增量读、小文件合并,还可以支持秒级到分钟级的延迟,基于这些优势我们尝试采用 Iceberg 这些功能来构建基于 Flink 的实时全链路批流一体化的实时数仓架构。如下图所示,Iceberg 每次的 commit 操作,都是对数据的可见性的改变,比如说让数据从不可见变成可见,在这个过程中,就可以实现近实时的数据记录。2. 实时数仓 - 数据湖分析系统。
2024-10-12 22:24:14
947
原创 大数据之数据治理体系全面指南
数据治理是企业数据建设必不可少的一个环节。好的数据治理体系可以盘活整条数据链路,最大化保障企业数据的采集存储计算和使用过程的可控和可追溯。如何构建企业数据治理体系?企业数据治理过程需要注意哪些问题?总体而言,不能一口一个胖子,路要一步一步地走。下面我将结合企业级数据治理经验,详细介绍从0到1搭建数据治理体系全流程,帮你梳理数据治理的主要内容以及过程中会遇到的哪些坑。
2024-10-12 22:22:23
765
原创 数仓中指标-标签,维度-度量,自然键-代理键等常见的概念术语解析
比如最近七天的订单量,一个促销活动的购买转化率等。一个指标具体到计算实施,主要有以下几部分组成:指标加工逻辑,比如count ,sum, avg维度,比如按部门、地域进行指标统计,对应sql中的group by业务限定/修饰词,比如以不同的支付渠道来算对应的指标,微信支付的订单退款率,支付宝支付的订单退款率。对应sql中的where。
2024-10-10 21:26:15
914
原创 Flink知识体系保姆级总结
这几年大数据的飞速发展,出现了很多热门的开源社区,其中著名的有 Hadoop、Storm,以及后来的 Spark,他们都有着各自专注的应用场景。Spark 掀开了内存计算的先河,也以内存为赌注,赢得了内存计算的飞速发展。Spark 的火热或多或少的掩盖了其他分布式计算的系统身影。就像 Flink,也就在这个时候默默的发展着。在国外一些社区,有很多人将大数据的计算引擎分成了 4 代,当然,也有很多人不会认同。我们先姑且这么认为和讨论。
2024-10-10 20:50:26
1376
原创 数据仓库:详解维度建模之事实表
每个数据仓库都包含一个或者多个事实数据表。其中可能包含业务销售数据,如现金登记事务所产生的数据,通常包含大量的行。事实数据表的主要特点是包含数字数据(事实),并且这些数字信息可以汇总,以提供有关单位作为历史的数据,每个事实数据表包含一个由多个部分组成的索引,该索引包含作为外键的相关性维度表的主键,而维度表包含事实记录的特性。
2024-10-10 20:48:38
1110
原创 数据开发流程规范及数据监控
在做实时数据开发过程中,由于对接了不同的业务方,起了多个实时任务的程序,而数据的监控在运维那边,但运维同学只有针对整个集群的监控,对单个作业的监控还没建立起来,所以会初选一些实时任务在集群上runing的状态,但是对Kafka的消费却丢失,而Kafka目前只保留7天的数据,一旦数据丢失,需要通过离线任务去校验,会非常的耗时。所以在这个背景上,单独做了针对自己输出的业务报表数据的监控,每天输出一些数据产生异常的表,并钉钉告警,方便快速处理。
2024-10-08 22:18:52
1223
原创 如何避免数仓模型“烟囱式”建设
ODS层表的数据必须和数据源的表结构、表记录数⼀致,⾼度⽆损,对于ODS层表的命名采⽤ODS_业务系统数据库名_业务系统数据库表名⽅式,⽐如ods_warehous_stock,warehous是业务系统数据库名,stock是该库下⾯的表名。其次,要看表的命名。数据中台的构建往往需要花费半年甚⾄⼀年以上的时间,但是数据中台建成后,对研发效率的提升效果⾮常明显,在⽹易电商业务中,中台构建后相⽐构建前,数据需求的平均交付时间从⼀周缩短到3天内,需求响应速度的提升,为企业运营效果提升提供了数据⽀撑。
2024-10-07 21:36:56
934
原创 SeaTunnel 与 DataX 、Sqoop、Flume、Flink CDC 对比
Apache SeaTunnel 是一个非常易用的超高性能分布式数据集成产品,支持海量数据的离线及实时同步。每天可稳定高效同步万亿级数据,已应用于数百家企业生产,也是首个由国人主导贡献到 Apache 基金会的数据集成顶级项目。SeaTunnel 主要解决数据集成领域的常见问题:数据源多样:常用的数据源有数百种,版本不兼容。随着新技术的出现,出现了更多的数据源。用户很难找到能够全面快速支持这些数据源的工具。复杂同步场景。
2024-10-05 12:08:50
1672
原创 实时数仓分层架构超全解决方案
Kappa 架构在 Lambda 架构的基础上移除了批处理层,利用流计算的分布式特征,加大流数据的时间窗口,统一批处理和流处理,处理后的数据可以直接给到业务层使用。我们前面提到,既然 Kappa 架构实际落地困难,Lambda 架构又很难保障数据的一致性,两个架构又都很难处理可变更数据(如关系数据库中不停变化的实时数据),那么自然需要一种新的架构满足企业实时分析的全部需求,这就是 Omega 全实时架构,Omega 架构由偶数科技根据其在各行业的实践提出,同时满足实时流处理、实时按需分析和离线分析。
2024-10-05 12:07:17
1531
原创 大数据之数据治理体系全面指南
数据治理是企业数据建设必不可少的一个环节。好的数据治理体系可以盘活整条数据链路,最大化保障企业数据的采集存储计算和使用过程的可控和可追溯。如何构建企业数据治理体系?企业数据治理过程需要注意哪些问题?总体而言,不能一口一个胖子,路要一步一步地走。下面我将结合企业级数据治理经验,详细介绍从0到1搭建数据治理体系全流程,帮你梳理数据治理的主要内容以及过程中会遇到的哪些坑。
2024-06-22 19:39:04
1210
原创 Hive知识体系保姆级教程
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。其本质是将SQL转换为MapReduce/Spark的任务进行运算,底层由HDFS来提供数据的存储,说白了hive可以理解为一个将SQL转换为MapReduce/Spark的任务的工具,甚至更进一步可以说hive就是一个MapReduce/Spark Sql的客户端为什么要使用hive?
2024-06-09 17:48:44
1403
原创 数仓建设中最常用模型--Kimball维度建模详解
数仓建模首推书籍《数据仓库工具箱:维度建模权威指南》,。先来介绍下此书,此书是基于作者 60 多年的实际业务环境而总结的经验及教训,为读者提供正式的维度设计和开发技术。面向数仓和BI设计人员,书中涉及到的内容非常广泛,围绕一系列的商业场景或案例研究进行组织。强烈建议买一本实体书研究,反复通读全书至少三遍以上,你的技术将会有质的飞跃。数仓工具箱。
2023-07-09 19:08:34
933
原创 如何保障数仓数据质量?
有赞数据报表中心为商家提供了丰富的数据指标,包括30+页面,100+数据报表以及400+不同类型的数据指标,它们帮助商家更合理、科学地运营店铺,同时也直接提供分析决策方法供商家使用。并且,每天在跑的底层任务和涉及的数据表已经达到千级别。面对如此庞大的数据体系,作为测试如何制定质量保障策略呢?这篇文章将从:1.有赞数据链路 、2.数据层测试、 3.应用层测试、 4.后续规划这四个方面展开。首先介绍有赞的数据总体架构图:自顶向下可以大致划分为应用服务层、数据网关层、应用存储层、数据仓库,并且作业开发、元数据管理
2022-06-07 16:42:09
2417
9
原创 Hive参数与性能企业级调优
Hive作为大数据平台举足轻重的框架,以其稳定性和简单易用性也成为当前构建企业级数据仓库时使用最多的框架之一。但是如果我们只局限于会使用Hive,而不考虑性能问题,就难搭建出一个完美的数仓,所以Hive性能调优是我们大数据从业者必须掌握的技能。本文将给大家讲解Hive性能调优的一些方法及技巧。为什么都说性能优化这项工作是比较难的,因为一项技术的优化,必然是一项综合性的工作,它是多门技术的结合。我们如果只局限于一种技术,那么肯定做不好优化的。下面将从多个完全不同的角度来介绍Hive优化的多样性,我们先来一起感
2022-06-06 11:50:44
852
1
原创 详解HBase读写性能优化
一、HBase 读优化1. HBase客户端优化和大多数系统一样,客户端作为业务读写的入口,姿势使用不正确通常会导致本业务读延迟较高实际上存在一些使用姿势的推荐用法,这里一般需要关注四个问题:1) scan缓存是否设置合理?优化原理:在解释这个问题之前,首先需要解释什么是scan缓存,通常来讲一次scan会返回大量数据,因此客户端发起一次scan请求,实际并不会一次就将所有数据加载到本地,而是分成多次RPC请求进行加载,这样设计一方面是因为大量数据请求可能会导致网络带宽严重消耗进而影响其他业
2022-05-10 18:49:18
1464
原创 Spark SQL底层执行流程详解
本文目录一、Apache Spark二、Spark SQL发展历程三、Spark SQL底层执行原理四、Catalyst 的两大优化完整版传送门:Spark知识体系保姆级总结,五万字好文!一、Apache SparkApache Spark是用于大规模数据处理的统一分析引擎,基于内存计算,提高了在大数据环境下数据处理的实时性,同时保证了高容错性和高可伸缩性,允许用户将Spark部署在大量硬件之上,形成集群。Spark源码从1.x的40w行发展到现在的超过100w行,有1400多位
2022-04-21 14:32:01
7050
7
原创 数仓建设 | ODS、DWD、DWM等理论实战(好文收藏)
本文目录:一、数据流向二、应用示例三、何为数仓DW四、为何要分层五、数据分层六、数据集市七、问题总结导读数仓在建设过程中,对数据的组织管理上,不仅要根据业务进行纵向的主题域划分,还需要横向的数仓分层规范。本文作者围绕企业数仓分层展开分析,希望对你有帮助。因文章太长,本文不是完结版,文末可获取完整PDF版从事数仓相关工作的人员都知道数仓模型设计的首要工作之一就是进行模型分层,可见模型分层在模型设计过程中的重要性,确实优秀的分层设计是一个数仓项目能否建设成功的核心要素,让数
2022-04-13 14:32:28
5186
9
原创 Spark内存管理详解
本文目录: Spark Shuffle进化史 堆内和堆外内存规划 内存空间分配 存储内存管理 执行内存管理 上百本优质大数据书籍,附必读清单(大数据宝藏)前言Spark 作为一个基于内存的分布式计算引擎,其内存管理模块在整个系统中扮演着非常重要的角色。理解 Spark 内存管理的基本原理,有助于更好地开发 Spark 应用程序和进行性能调优。本文旨在梳理出 Spark 内存管理的脉络,抛砖引玉,引出读者对这个话题的深入探讨。本文中阐述的原理基..
2022-04-12 15:51:52
710
1
原创 最新大厂数据湖面试题,知识点总结
本文是一篇数据湖的面试题,同时也是数据湖知识点的讲解目录:一、什么是数据湖二、数据湖的发展三、数据湖有哪些优势四、数据湖应该具备哪些能力五、数据湖的实现遇到了哪些问题六、数据湖与数据仓库的区别七、为什么要做数据湖?区别在于?八、数据湖挑战九、湖仓一体十、目前有哪些开源数据湖组件十一、三大数据湖组件对比一、什么是数据湖本文首发于公众号【五分钟学大数据】,点击获取:数仓建设保姆级教程数据湖是一种不断演进中、可扩展的大数据存储、处理、分析的基础设施;以数据为导向,实现任意
2022-03-31 21:11:54
1231
2
原创 长文详解HiveSQL执行计划
本文目录:一、前言二、SQL的执行计划 explain 的用法 explain 的使用场景 案例一:join 语句会过滤 null 的值吗? 案例二:group by 分组语句会进行排序吗? 案例三:哪条sql执行效率高呢? 案例四:定位产生数据倾斜的代码段 explain dependency的用法 案例一:识别看似等价的代码 案例二:识别SQL读取数据范围的差别 explain authorization 的用法 本文首发于公众号【五分钟学大数据
2022-03-22 10:14:19
1815
3
原创 万字详解数据仓库、数据湖、数据中台和湖仓一体
本文目录:一、前言二、概念解析 数据仓库 数据湖 数据中台 三、具体区别 数据仓库 VS 数据湖 数据仓库 VS 数据中台 总结 四、湖仓一体 目前数据存储方案 Data Lakehouse(湖仓一体) 一、前言数字化转型浪潮卷起各种新老概念满天飞,数据湖、数据仓库、数据中台轮番在朋友圈刷屏,有人说“数据中台算个啥,数据湖才是趋势”,有人说“再见了数据湖、数据仓库,数据中台已成气候”……企业还没推开数字化大门,先被各
2022-02-22 09:32:49
7335
12
原创 2022年最强大数据面试宝典(全文50000字)
此套面试题来自于各大厂的真实面试题及常问的知识点,如果能理解吃透这些问题,你的大数据能力将会大大提升,进入大厂指日可待复习大数据面试题,看这一套就够了!本文目录:一、Hadoop二、Hive三、Spark四、Kafka五、HBase六、Flink七、数仓业务方面八、算法本文PDF版文档预览如下点击获取本文PDF版:2022年最强大数据面试宝典PDF版HadoopHadoop中常问的就三块,第一:分布式存储(HDFS);第二:分布式计算框架(MapRedu.
2022-02-16 14:17:59
7348
12
原创 详解数据中台的底层架构逻辑
数据中台到底是什么,几年过去了,也一直众说纷纭。笔者认为数据中台不应该是一个单纯的系统或者是一个软件工具,而应该是一套架构、一套数据流转模式。数据中台需要采集数据作为原材料进行数据加工、数据建模,然后分门别类地储存,再根据实际的业 务场景,打造各类数据服务(含数据应用平台)从而实现对业务的赋能加速。但以上流程的实现,需要有对应的系统与产品作为支撑,那么基础的数据中台到底应该由哪些系统或者产品组成?这里我们可以先来看一下几个企业的数据中台架构。可以看出,虽然每个企业由于自身业务
2022-01-11 09:30:35
436
原创 Hive SQL优化思路
Hive的优化主要分为:配置优化、SQL语句优化、任务优化等方案。其中在开发过程中主要涉及到的可能是SQL优化这块。优化的核心思想是: 减少数据量(例如分区、列剪裁) 避免数据倾斜(例如加参数、Key打散) 避免全表扫描(例如on添加加上分区等) 减少job数(例如相同的on条件的join放在一起作为一个任务) HQL语句优化1. 使用分区剪裁、列剪裁在分区剪裁中,当使用外关联时,如果将副表的过滤条件写在Where后面,那么就会先全表关联,之后再过滤。
2021-12-28 09:12:34
1098
2
原创 最强最全面的大数据SQL经典面试题(由31位小伙伴共同协作完成)
本套SQL题的答案是由许多小伙伴共同贡献的,1+1的力量是远远大于2的,有不少题目都采用了非常巧妙的解法,也有不少题目有多种解法。本套大数据SQL题不仅题目丰富多样,答案更是精彩绝伦!注:以下参考答案都经过简单数据场景进行测试通过,但并未测试其他复杂情况。本文档的SQL主要使用Hive SQL。因内容较多,带目录的PDF查看是比较方便的:最强最全面的大数据SQL经典面试题完整PDF版一、行列转换描述:表中记录了各年份各部门的平均绩效考核成绩。表名:t1表结构:a--年份..
2021-12-23 15:56:41
2920
8
原创 数仓建设保姆级教程,离线和实时一网打尽(理论+实战)
本文大纲:因内容较多,带目录的PDF查看是比较方便的,点击下方链接获取完整PDF版:数仓建设保姆级教程PDF文档一、数仓基本概念1. 数据仓库架构我们在谈数仓之前,为了让大家有直观的认识,先来谈数仓架构,“架构”是什么?这个问题从来就没有一个准确的答案。这里我们引用一段话:在软件行业,一种被普遍接受的架构定义是指系统的一个或多个结构。结构中包括软件的构建(构建是指软件的设计与实现),构建的外部可以看到属性以及它们之间的相互关系。这里参考此定义,把数据仓库架构理解成构成数据仓库的组
2021-12-14 10:46:30
3215
8
转载 万字详解 Spark 数据倾斜及解决方案
本文目录:一、调优概述二、数据倾斜发生时的现象三、数据倾斜发生的原理四、如何定位导致数据倾斜的代码五、某个task执行特别慢的情况六、某个task莫名其妙内存溢出的情况七、查看导致数据倾斜的key的数据分布情况八、数据倾斜的解决方案: 解决方案一:使用 Hive ETL 预处理数据 解决方案二:过滤少数导致倾斜的key 解决方案三:提高shuffle操作的并行度 解决方案四:两阶段聚合(局部聚合+全局聚合) 解决方案五:将reduce join
2021-12-06 10:58:06
1609
原创 最强最全面的Hive SQL开发指南,超四万字全面解析
本文整体分为两部分,第一部分是简写,如果能看懂会用,就直接从此部分查,方便快捷,如果不是很理解此SQL的用法,则查看第二部分,是详细说明,当然第二部分语句也会更全一些!本文非常适合PDF版本查看,效果非常好,本文PDF链接:最全面Hive SQL开发指南PDF版http://mp.weixin.qq.com/s?__biz=Mzg2MzU2MDYzOA==&mid=100007677&idx=1&sn=613890e9387eefd94fb83982c3ca55b0&am.
2021-11-30 14:32:05
1842
10
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人