大数据私房菜
这个作者很懒,什么都没留下…
展开
-
0005-对于大数据学习与复习,我想给你划个重点
近期陆陆续续的会有一些读者朋友咨询一些学习大数据或者大数据面试的事,由于时间关系,我一般会简单的说一些大方向,然后会让去b站找一些认可度比较高的项目,但是这样的话,总感觉有点敷衍了,还是想好好的给大家画个重点可以看出,其实迷茫的小伙伴还是非常多的,他们有的是外行转IT大数据,有些是互联网其他岗位转大数据,比如java开发,软件测试,大数据运维等,还有的是本身干着大数据或者数仓,但是不知从哪些方向进行提升。原创 2023-07-28 13:36:56 · 190 阅读 · 0 评论 -
数据治理之敏感数据探查
1.开发背景 数据泄露事件频出,企业和机构都在想尽手段避免信息受网络犯罪的攻击。数据加密技术是数据保护的关键方法之一,是一个复杂的编码算法,使数据可以安全地存储和传输。加密的数据被称为“密文”,只能用密钥或密码进行解密。虽然加密不能防止所有网络攻击,但这种技术使得黑客窃取数据成为更加艰巨的任务,因为数据被加密,不能查看明文,也就不存在泄密。由于各种原因,在实际生产环境中Mysql或...原创 2020-03-30 11:03:46 · 2218 阅读 · 0 评论 -
数据治理之数据质量管理
一.数据质量基本概念 数据质量管理是指为了满足信息利用的需要,对信息系统的各个信息采集点进行规范,包括建立模式化的操作规程、原始信息的校验、错误信息的反馈、矫正等一系列的过程。数据质量管理不是一时的数据治理手段,而是循环的管理过程。 数据质量管理不仅包含了对数据质量的改善,同时还包含了对组织的改善。为什么有这么多人强调改善数据质量管理的重要性,用一种很抽象的比喻描述,如果...原创 2020-04-02 16:56:33 · 8700 阅读 · 0 评论 -
数据治理之元数据管理
一.概述 元数据通常定义为”关于数据的数据”,元数据贯穿了数据仓库的整个生命周期,使用元数据驱动数据仓库的开发,使数据仓库自动化,可视化。元数据打通了源数据、数据仓库、数据应用,记录了数据从产生到消费的全过程。例如我们看一部电影,电影本身就是数据,那么元数据就是用来描述这部电影的数据。如下图所示: 元数据主要记录数据仓库中模型的定义、各层级间的映射关系、监...原创 2020-04-10 10:50:15 · 10382 阅读 · 1 评论 -
0006-9-使用SQL实现DQC
一 前言在本系列文章中,我们会介绍如何从0到1做DQC。数据可能由于很多原因而出现错误,比如数据重复,schema变动等。DQC是我们保证数据准确性的第一道防线。好的DQC应当在观察到数据出现问题时,能够自动进行报警,进而通知相关人员进行修复。DQC有五个方面:Freshness:我的数据是最新的吗? 我的数据是否存在滞后的情况? Distribution:在字段这个级别上,我的数据是准确的吗?每个字段的值的范围是否都符合预期?Volume:我的收集到的数据是否有缺失? Schem..原创 2021-09-04 10:44:31 · 335 阅读 · 0 评论 -
数据成本治理
很多时间,我们的任务不但有实时,t+1,甚至还会有小时任务,每小时跑一次,众所周知,这是非常占资源的,我们要和业务方,需求方取沟通,看一下没必要的小时任务是否可以转化为日任务。数据开发的开发水平参差不齐,所以对于任务来说,是有非常大的优化空间的,可以从各方面取调优,比如数据倾斜,小文件,存储,压缩。用阿里云服务器还好,会有实际的账单,但是如果是自己买的服务器搭建的大数据生态,可能不知道怎么去量化成本,然后做成本治理。通过数据地图,找出无用数据或者是用频次很低的数据,跟业务方沟通后及时下线。原创 2023-06-21 14:22:32 · 350 阅读 · 0 评论 -
数据血缘分析
例如:有的企业是直接引用现有的开源工具,有的企业是结合自身的产品进行自研,有的企业可能只做到表级别,有的企业做到字段级别。那么本篇将会为读者们提供一种表级别粒度的分析功能,并通过可视化的方式为大家展示,当然本篇文章是属于抛砖引玉,主要是给大家提供一种思路。2、spark通过analyzer结合catalog对未解析的逻辑计划,进行一系列的规则绑定,应用数据信息,生成Resolved Logical Plan,此时的计划也是按照原来的节点原封不动进行绑定,并没有做任何的优化.1、什么是血缘分析?原创 2023-06-21 14:24:44 · 1155 阅读 · 0 评论 -
数据治理(数据模型,数据规范,数据安全,数据成本,元数据,数据质量等)
因此,数据质量管理要形成完善的体系,建立持续改进的流程和良性机制,持续监控各系统数据质量波动情况及数据质量规则分析,适时升级数据质量监控的手段和方法,确保持续掌握系统数据质量状况,最终达到数据质量的平稳状态,为业务系统提供良好的数据保障。数据质量管理相对来说成本比较高。常见的业务元数据有维度及属性(包括维度编码,字段类型,创建人,创建时间,状态等)、业务过程、指标(包含指标名称,指标编码,业务口径,指标类型,责任人,创建时间,状态,sql等),安全等级,计算逻辑等的规范化定义,用于更好地管理和使用数据。原创 2023-06-21 14:45:53 · 908 阅读 · 0 评论 -
数据治理脑图
原创 2023-06-21 14:47:14 · 170 阅读 · 0 评论 -
202303最新各大厂大数据核心面试题
2. 字节:你说的分组聚合的数据倾斜,利用map-side在map端预聚合,但是如果倾斜的key分布比较散乱在不同的mapTask上,每个mapTask预聚合的条数有限,预聚合后还是有大量倾斜的key要做shuffle怎么办?flink的数据倾斜,flink的背压。1. 阿里:上面的回答都是理论上的,有没有实际中的hive的优化,高级一点的?面试官立刻追问:你的事实表的数据是当日实时来的,但是维度表的数据还是前一日全量同步来的,那么事实表就拿不到维度表的当日数据啊,维度的数据就不是最新的啊,你怎么解决的?原创 2023-04-18 17:12:01 · 305 阅读 · 1 评论 -
2023大数据面试真题(持续更新)
5.有两个数据源,一个记录的是广告投放给用户的日志,一个记录用户访问日志,另外还有一个固定的用户基础表记录用户基本信息(比如学历,年龄等等)。9.线上业务每天产生的业务日志(压缩后>=3G),每天需要加载到hive的log表中,将每天产生的业务日志在压缩之后load到hive的log表时,最好使用的压缩算法是哪个,并说明其原因。为什么不用 Hive 默认的分隔符,默认的分隔符是什么?41.有一千万条短信,有重复,以文本文件的形式保存,一行一条数据,请用五分钟时间,找出重复出现最多的前10条。原创 2020-07-04 14:18:36 · 34337 阅读 · 20 评论 -
0001-1-HiveSql(解释,编译,优化,执行)源码
一 架构图1.1 官网架构图Driver组件:该组件包括Parser、Compiler、Optimizer和Executor,它的作用是将hivesql进行解析、编译、优化,生成执行计划,然后调用底层的mapreduce计算框架。解释器(Parser):将SQL转化为抽象语法树AST;编译器(Compiler):将AST编译成逻辑执行计划;优化器(Optimizer):对逻辑执行计划进行优化;执行器(Executor):将逻辑执行计划转成可执行的物理计划;1.2..原创 2021-09-04 10:22:56 · 500 阅读 · 0 评论 -
0001-2-Hive常用开窗函数
一row_number() over()有如下数据: 江西,高安,100 江西,南昌,200 江西,丰城,100 江西,上高,80 江西,宜春,150 江西,九江,180 湖北,黄冈,130 湖北,武汉,210 湖北,宜昌,140 湖北,孝感,90 湖南,长沙,170 湖南,岳阳,120 湖南,怀化,100 需要查询出每个省下人数最多的2个市 create table we..原创 2021-09-12 13:31:23 · 541 阅读 · 1 评论 -
0001-1-HiveSql(解释,编译,优化,执行)源码
一 架构图1.1 官网架构图Driver组件:该组件包括Parser、Compiler、Optimizer和Executor,它的作用是将hivesql进行解析、编译、优化,生成执行计划,然后调用底层的mapreduce计算框架。解释器(Parser):将SQL转化为抽象语法树AST;编译器(Compiler):将AST编译成逻辑执行计划;优化器(Optimizer):对逻辑执行计划进行优化;执行器(Executor):将逻辑执行计划转成可执行的物理计划;1.2..原创 2021-09-12 13:30:17 · 541 阅读 · 0 评论 -
0009-维表的拆分与整合
之前有讲到如何设计维表,对应的主键设计及维度属性选择,但是我们在设计完相关维表并且上线后,可能会根据实际情况对维表进行相关的优化操作。一 整合1.1 垂直整合选择一个主维度表,把其他的相关维度表的属性关联上去,可以丰富主维表的维度属性,方便使用,减少关联。 用户id 微信号 手机号 。。。 ..原创 2021-09-12 13:26:34 · 665 阅读 · 0 评论 -
0007-缓慢变化维(SCD)
一 什么是缓慢变化维在实际生产情况中,我们的很多维度属性并不是一成不变的,比如医院等级,vip等级,英雄联盟段位等如,LOL游戏中,最开始你没段位,经过定级赛之后,你定到了白银,经过3个月的努力,你升到了黄金段位,这种变化,我们称其为缓慢变维那么我们应该怎么去处理这种数据呢?处理方案是有很多种的,但是不变的是,我们必须得根据我们的业务场景去选择合适的解决方案,甚至要和业务方去沟通,熟悉业务才能寻找最优解。二 解决方案1.属性值不变啥也不用改,就..原创 2021-09-12 13:24:23 · 347 阅读 · 0 评论 -
0037-数据集市,Inmon架构及Kimball架构
在数据仓库持续演进的过程中,逐渐产生了不少的架构方法,主要有Inmon架构,Kimball架构,数据集市架构及混合架构等。一 数据集市先说说数据集市吧,数据集市也不是之前单独按照每个部门去搭建的,都是出自搭建好的企业级数据仓库。属于从属数据集市,可以有效消除各部门数据不一致的情况。早期数据集市:从属数据集市:二 Inmon架构我们先来看下面一张图可以发现:Inmon架构的数据仓库存储的是最细粒度的数据...原创 2021-09-12 13:26:55 · 672 阅读 · 0 评论 -
0005-数据开发规范
俗话说,无规矩不成方圆,在数据开发领域同样也是适用的。是不是经常听到这样的抱怨:我擦,这张表怎么特么的注释都没有? 我日,这个字段命名怎么是拼音全称?怎么这张表的订单id是string类型,那张表的是订单id是bigint类型? 害,烦死了,这是谁开发的任务,库名/项目名都没写,我这去其他项目下跑还得一个个加上。这代码谁写的?2张表join获取相关字段,也不写一下表的别名,我哪知道这是这是取自哪张表的 ? 运维任务又报错了? 这是谁写的select * ,union all呀,..原创 2021-09-04 10:47:49 · 575 阅读 · 0 评论 -
0004-数据清洗
在我们想尽各种办法把数据弄进数据仓库ods层后,接下来的事情就比较有意思了,并且比较重要,对后续的数据模型建设,数据质量的保证,甚至影响管理层的决策(就问你怕不怕?)那么,对于ETL过程中的数据清洗,你一般会怎么做呢?但凡你真正的做过数仓,我认为这些都是轻车熟路的,因为这是数据研发的必经之路我在对候选人进行考察的时候,也经常会问到这个问题,主要是看一下候选人有没有真实工作经验,然后在开发过程中有没有独立思考,并且知其然更知其所以然,但是候选人回答的都比较片面,比如只是处理空值,可..原创 2021-09-04 10:47:02 · 366 阅读 · 1 评论 -
0003-数据同步策略
我们要搭建数据仓库,那么数据是来自哪里呢?答案很明显,一般来说,数据会来自3个方向,业务库数据,日志数据及爬虫数据,对于爬虫数据,我们就不做过多的分析,一般就是爬一些竞品信息,维表信息。业务库数据什么是业务库数据,指的是业务系统产生的数据,这个业务系统可以是你们公司的官网,app或者小程序。对于业务库数据,如果是t+1同步抽取的话,我们一般会选择sqoop或者datax,当然,有些传统企业会使用kettle,不过个人认为kettle还是比较重的,而且好像也不太方便,所..原创 2021-09-04 10:46:18 · 250 阅读 · 1 评论 -
0002-数据探查
给你一个需求或者一条新的业务线可能需要搭建数仓,做数据处理,然后提供一些指标数据给到需求方,你这边会怎么开始呢?当你接到这个需求的时候,直接开干?抽表,清洗,分层,建模?呵呵,这就是瞎搞。啥也不知道不了解的情况下,对数据源一无所知的情况下,是谁给你勇气直接开干的?正常情况下,接到新的数据需求或者任务的时候,我们最开始应该需要做一下数据调研,或者说数据探查。那么问题来了,具体我们应该做些啥呢?就拿接到一个需求来举例说明吧:业务方让你统计一些数..原创 2021-09-04 10:45:30 · 645 阅读 · 0 评论 -
0006-4-数据成本治理
数据成本治理1 为什么要做成本治理最主要的原因应该是减少企业成本,让企业走提效降本的可持续发展道路。2 目前存在的问题2.1 机器利用率低比如所有任务都是在晚上跑,白天机器大部分空闲,直接导致资源浪费,利用率非常低2.2 存储周期过长,存储资源增长过快有的表,大家没有设置生命周期,或者没有定时删除分区,导致分区太多,数据膨胀,存储资源需要补充2.3 成本没有量化标准用阿里云服务器还好,会有实际的账单,但是如果是自己买的服务器搭建的大数据生态,可能不知道怎么去量化成本,..原创 2021-09-04 10:33:49 · 485 阅读 · 0 评论 -
0006-1-数据质量管理.ppt
一 数据质量二 数据质量概述2.1 基本概念2.2 影响因素三 数据质量评价方法四 数据质量管理4.1 事情定义监控规则4.2 事中稽核数据质量4.3 事后分析数据质量五 数据质量愿景...原创 2021-09-04 10:26:47 · 385 阅读 · 0 评论 -
0004-3-数据模型.ppt
原创 2021-09-04 10:25:55 · 173 阅读 · 0 评论 -
0004-1-模型好坏评判标准
一 完善度汇总数据能直接满足多少查询需求,即应用层访问汇总层数据的查询比例 跨层引用率:ODS 层直接被 DWS/ADS/DM 层引用的表,占所有 ODS 层表(仅统计活跃表)比例快速响应业务方的需求比较好的模型,使用方是可以直接从该模型获取所有想要的数据的,如果dws,ads,dm层直接引用ods层的表比例太大,即跨层引用率太高,则该模型不是最优,可以继续优化二 复用度模型引用系数:模型被读取并产出下游模型的平均数量三 规范度主题域归属 分层信息脚本及任务明明规范 表命..原创 2021-09-04 10:24:53 · 1361 阅读 · 0 评论 -
面试官:说一下数仓宽表的优缺点吧
群友爆料,经常面试会遇到面试官问宽表优缺点的问题,问法也是有所不同 说一下数仓宽表的优缺点吧? 你们公司宽表用起来感觉怎么样,遇到什么问题吗? 你们为什么要设计成宽表呢? 一 什么是宽表 宽表,通常是指业务主题相关的指标、维度、属性关联在一起的一张数据库表。 在数据仓库建设中,组织相关和相似数据,采用明细宽表,复用关联计算,减少数据扫描,提高明细数据表的易用性 在汇总数据层,加...原创 2021-02-03 19:48:47 · 4085 阅读 · 0 评论 -
令人害怕的数据部门值班制度,此时的你是否也在经历呢?
首先跟大家说一声抱歉,由于前段时间比较忙,一直没有时间产出原创干货,一直是在转载其他公众号的文章,对此我也做了深刻的检讨,感觉辜负了大家的厚望.之后我还是会持续产出干货的,希望各位大佬一如既往的支持!!!1什么是数据部门值班制度 值班制度就是每个数据开发人员轮流负责晚上的任务运行状况,有异常或延迟及时处理或者通知相关负责人及时处理,避免第二天数据延迟产出.2每家有数据部门的公司都有值班制度吗 据我所知,并不是这样的,很多做工具...原创 2020-12-11 15:31:54 · 518 阅读 · 0 评论 -
HDFS HA机制 及 Secondary NameNode详解
1Secondary NameNodeSecondary namenode的职责是合并namenode的edit logs到fsimage文件中。每隔一段时间,会由secondary namenode将namenode上积累的所有edits和一个最新的fsimage下载到本地,并加载到内存进行merge(这个过程称为checkpoint)namenode和secondary namenode的工作目录存储结构完全相同,所以,当namenode故障退出需要重新恢复时,可以从...原创 2020-12-01 13:58:12 · 1146 阅读 · 1 评论 -
如何判断一个数据模型的好坏
大家都知道,大数据之路推荐的建模原则是l高内聚和低辑合将业务相近或者相关、粒度相同的数据设计为一个逻辑或者物理模型:将高概率同时访 问的数据放一起,将低概率同时访问的数据分开存储。l核心模型与扩展模型分离建立核心模型与扩展模型体系,核心模型包括的宇段支持常用的核心业务,扩展模型包括的字段支持个性化或少量应用的需要,不能让扩展模型的宇段过度侵人核心模型,以免破坏核心模型的架构简洁性与可维护性。l公共处理逻辑下沉及单一越是底层公用的处理逻辑越应该在数据调度...原创 2020-12-01 13:56:27 · 2980 阅读 · 2 评论 -
一文探究数据仓库体系(2.7万字建议收藏)
一什么是数据仓库1.1数据仓库概念数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它出于分析性报告和决策支持目的而创建。1.2数据仓库特点1.2.1面向主题普通的操作型数据库主要面向事务性处理,而数据仓库中的所有数据一般按照主题进行划分。主题是对业务数据的一种抽象,是从较高层次上对信息系统中的数据进行归纳和整理。面向主题的数据可以划分成两部分--...原创 2020-10-19 10:02:41 · 2472 阅读 · 8 评论 -
数据建模知多少?
1前言 数据建模乍一听的时候感觉非常的有技术性,并且外行感觉非常的高大上,高深莫测。 在目前的时代下,数据量可以说是海量,并且还在持续增长,那么对于企业来说,如何快速的准确的从这些数据中获取自己想得到的信息呢?2什么是数据建模 数据建模简单来说就是基于对业务的理解,将各种数据进行整合和关联,并最终使得这些数据可用性,可读性增强,让使用方能快速的获取到自己关心的有价值的信息并且及时的作出响应,为公司带来效益。3为什么要建模 数据...原创 2020-10-09 21:33:12 · 3385 阅读 · 0 评论 -
如何写好一篇数据部门规范文档
一 为什么要编写规范文档 部门技术沉淀 开发人员开发时必须遵守的规范,减少后续维护成本 新入职同事可以快速了解部门各流程规范,减少学习成本 二 如何编写规范文档(提供简易大纲)1 数据模型规范 1.1账户权限 1.1.1表查询权限 1.1.1.1服务器远程连接HIVE查询权限 1.1.1.2 即席查询权限 1.1.2表操作权限 ...原创 2020-10-09 21:30:05 · 2141 阅读 · 3 评论 -
如何优化整个数仓的执行时长(比如7点所有任务跑完,如何优化到5点)
1前言 对于数据部门来说,数据的及时产出是需要保证的,数据产出时间过晚可能会影响公司正常运营,涉及运营团队,数据分析师团队,搜索团队等,也会影响公司高层的决策,甚至可能会带来用户的投诉。 那么,应该怎么做才能保证数据的及时产出甚至提前产出呢? 下面是小伙伴们的讨论,看样子大家都是很有心得的,加机器加内存加满,这位小伙伴肯定能拿提成,要不然不会下这么猛的药。言归正传,那么到底该怎么做呢.....这是个问题。...原创 2020-09-27 10:19:54 · 1563 阅读 · 2 评论 -
从0-1建设数仓遇到什么问题?怎么解决的?
这个应该算是比较高频的高级的面试题了,第一次听到这个面试题是几个月以前,朋友面试华为阿里滴滴啥的都有问到,近期老徐面微店蚂蚁美团都问到了,所以还是应该引起重视 在交流群发起这个话题的时候,有响应但是没啥答案,可能是因为大家都不是从0-1搭建数仓的,或者不是数仓方向的,所以大家都在等待有经验的人来讨论一下这个问题,等啊等,硬是没等到。 非常遗憾,我也没从0-1搭建过数仓,但是刚好遇到公司模型优化迁移以及数仓内部建设,所以就勉为其难来说说我的看法...原创 2020-09-27 10:18:24 · 2662 阅读 · 0 评论 -
多值维度及交叉维度最佳解决方案
公众号:大数据私房菜1前言 正常情况下,维表和事实表之间是一对多的关系,维表中的一行记录会连接事实表中的多行记录,事实表中的一行记录在维度表中只能关联上一条记录,不会发生数据发散的现象 想法是美好的,但是事实总是不尽人意。因为现实中不但事实表和维度表之间存在多对多的关系,维度表和维度表之间也存在多对多的关系 这两种情况本质是相同的,但事实表和维度表之间的多对多关系少了唯一描述事实和维度组的中间维度。 对于这两种情况,一种称为...原创 2020-09-22 09:51:42 · 2038 阅读 · 0 评论 -
大表join小表,独钟爱mapjoin
在Hive调优里面,经常会问到一个很小的表和一个大表进行join,如何优化。 Shuffle 阶段代价非常昂贵,因为它需要排序和合并。减少 Shuffle 和 Reduce 阶段的代价可以提高任务性能。 MapJoin通常用于一个很小的表和一个大表进行join的场景,具体小表有多小,由参数hive.mapjoin.smalltable.filesize来决定,该参数表示小表的总大小,默认值为25000000字节,即25M。 Hive0.7...原创 2020-09-22 09:50:27 · 1797 阅读 · 0 评论 -
数据质量那点事
1数据质量基本概念 数据质量管理(Data Quality Management),是指对数据从计划、获取、存储、共享、维护、应用、消亡生命周期的每个阶段里可能引发的各类数据质量问题,进行识别、度量、监控、预警等一系列管理活动,并通过改善和提高组织的管理水平使得数据质量获得进一步提高 数据质量管理不是一时的数据治理手段,而是循环的管理过程。其终极目标是通过可靠的数据,提升数据在使用中的价值,并最终为企业赢得经济效益 2影响因素 数据问题的来源可能产生...原创 2020-09-15 18:01:23 · 489 阅读 · 0 评论 -
你真的了解全量表,增量表及拉链表吗?
1Mysql数据准备第一天 9月10号数据1,待支付,2020-09-10 12:20:11,2020-09-10 12:20:112,待支付,2020-09-10 14:20:11,2020-09-10 14:20:113,待支付,2020-09-10 16:20:11,2020-09-10 16:20:11第二天 9月11号数据1,待支付,2020-09-10 12:20:11,2020-09-10 12:20:112,已支付,2020-09-10 14:20:11,2020-09原创 2020-09-14 10:03:32 · 2535 阅读 · 0 评论 -
全方位解读星型模型,雪花模型及星座模型
1背景 在多维分析的商业智能解决方案中,根据事实表和维度表的关系,又可将常见的模型分为星型模型,雪花型模型及星座模型。在设计逻辑型数据的模型的时候,就应考虑数据是按照星型模型,雪花型模型还是星座模型进行组织。2星型模型 星形模型中有一张事实表,以及零个或多个维度表,事实表与维度表通过主键外键相关联,维度表之间没有关联,当所有维表都直接连接到“事实表”上时,整个图解就像星星一样,故将该模型称为星型模型。星形模型是最简单,也是最常用的模型。由于星形模型只有一...原创 2020-09-14 10:01:08 · 8067 阅读 · 2 评论 -
数据库三范式
表设计规范化是通过应用范式规则实现的。最常用的范式有第一范式(1NF)、第二范式(2NF)、第三范式(3NF)1.第一范式表中的列只能含有原子性(不可再分)的值。上例中张三有两个手机号存储在mobile列中,违反了1NF规则。为了使表满足1NF,数据应该修改为如表所示。2. 第二范式(2NF)第二范式要同时满足下面两个条件:满足第一范式。 没有部分依赖。例如,员工表的...原创 2020-04-14 11:07:16 · 676 阅读 · 0 评论