数仓
文章平均质量分 77
csdn-延
好记性不如个烂笔头
展开
-
Hive常见的压缩格式
完成对Hive表的压缩,有两种方式:配置MapReduce压缩、开启Hive表压缩功能。当然为了方便起见,Hive中的特定表支持压缩属性,自动完成压缩的功能。其中压缩比bzip2 > zlib > gzip > deflate > snappy > lzo > lz4,在不同的测试场景中,会有差异,这仅仅是一个大概的排名情况。从压缩性能上来看:lz4 > lzo > snappy > deflate > gzip > bzip2,其中lz4、lzo、snappy压缩和解压缩速度快,压缩比低。转载 2023-08-02 00:28:45 · 359 阅读 · 0 评论 -
hive视图与物化视图使用详解
对比两者的查询过程不难看出,第一个查询执行了map-reduce任务,耗时2秒多,第二个查询,没有执行map-reduce任务,由于会命中物化视图,重写query查询物化视图,查询速度会加快(没有启动MR,只是普通的table scan),查询时间提升了一倍多,这要是在数据量非常大的情况下性能将是巨大的改善;从上面的内容我们知道,物化视图创建后即可用于相关查询的加速,即:用户提交查询query,若该query经过重写后可以命中已经存在的物化视图,则直接通过物化视图查询数据返回结果,以实现查询加速。转载 2023-08-01 23:25:35 · 1466 阅读 · 0 评论 -
实时数仓建设核心
接着需要新起一个任务,从原来比较早的一个时间节点去消费 Kafka 上的数据,然后当这个新的任务运行的进度已经能够和现在的正在跑的任务齐平的时候,你就可以把现在任务的下游切换到新的任务上面,旧的任务就可以停掉,并且原来产出的结果表也可以被删掉。对于实时数仓来说,怎么去解决数据重算问题?实时明细层:在明细层,为了解决重复建设的问题,要进行统一构建,利用离线数仓的模式,建设统一的基础明细数据层,按照主题进行管理,明细层的目的是给下游提供直接可用的数据,因此要对基础层进行统一的加工,比如清洗、过滤、扩维等。转载 2023-07-31 00:37:25 · 79 阅读 · 0 评论 -
Hive经典面试题之连续N天登录
在日常工作进行数据的ETL或者面试时,经常遇到类似的问题,比如"统计连续N天交易额超过100万的店铺"、"统计连续登录天数超过3天的用户"等。对于这类问题,思路基本都是一样的。本文将介绍常用的两种解决方案。2.用登录日期与rn求date_sub,得到的差值日期如果是相等的,则说明这两天肯定是连续的。3.根据id和日期差date_diff分组,登录次数即为分组后的count(1)1.先把数据按照用户id分组,根据登录日期排序。以"统计连续登录天数超过3天的用户"为需求。注:以下用到的SQL函数,建议参考。转载 2023-07-31 00:30:28 · 140 阅读 · 0 评论 -
Flink 流批一体在 Shopee 的大规模实践
所以我们一直想优化这个流程,在最近发布的 1.16 中,支持了接入外部 log 的功能,我们针对日志较少的 Batch 任务,直接使用该特性跳转到 yarn 的 history log,十分方便查看问题 Task 的全量日志。我们最后使用了自己开发的 SlotGroup 级别的资源配置,整体思路是不同的 SlotGroup 申请不同规格的 TM,Slot 依然是均分 TaskManager 的资源,但可以通过为不同的 Operator 设置不同的 SlotGroup,进而设置不同的资源量。转载 2023-07-30 23:33:13 · 62 阅读 · 0 评论 -
实时数仓一般性总结
但是有两个问题,第一个问题是小文件很多,但这不是最关键的,第二个问题是最致命的,上游每分钟提交了很多文件到HDFS上,下游消费的Flink是不知道哪些文件是最新提交的,因此下游Flink就不知道应该去消费处理哪些文件。这个问题才是离线数仓做不到实时的最关键原因之一,离线数仓的玩法是说上游将数据全部导入完成了,告诉下游说这波数据全部导完了,你可以消费处理了。这类需求是需要一个可以支持更新的存储系统的,而离线数仓做更新的话需要全量数据覆盖,这也是离线数仓做不到实时的关键原因之一,数据湖是需要解决掉这个问题的。转载 2023-07-30 23:22:22 · 90 阅读 · 0 评论 -
事务事实表、周期快照事实表、累计快照事实表对比
1、事务事实表是稀疏的,只有当天发生的业务过程,事实表才会记录该业务过程的事实,如下单、支付等;而快照事实表是稠密的,无论当天是否有业务过程发生,都会记录 行,比如针对卖家的历史至今的下单和支付金额,无论当天卖家是否有下单支付事实,都会给该卖家记录一行。3、累计快照会记录整个业务过程,数据是不断更新的,而事务事实和周期快照则是不更新。2、事务事实表是可加的,周期快照是半可加的。转载 2023-07-27 18:56:02 · 380 阅读 · 0 评论 -
hive 全量表、增量表、快照表、切片表和拉链表
切片表根据基础表,往往只反映某一个维度的相应数据。其表结构与基础表结构相同,但数据往往只有某一维度,或者某一个事实条件的数据。:记录每条信息的生命周期,当一条记录的生命周期结束,就会重新开始一条新的记录,并把当前日期放入生效开始日期。3)合并变动数据和旧拉链表数据(有更新的信息需要修改生效结束日期,无更新的信息生效结束日期不变)之后插入到临时表中。生效结束日期>=某个日期,能够得到某个时间点的数据全量切片。:记录每天的新增数据,增量数据是上次导出之后的新数据。:记录每天的所有的最新状态的数据,原创 2023-07-27 18:37:19 · 2402 阅读 · 0 评论 -
数据仓库的MPP架构
举个例子,Teradata就是基于MPP技术的一个关系数据库软件(这是最早采用MPP架构的数据库),基于此数据库来开发应用时,不管后台服务器由多少节点组成,开发人员面对的都是同一个数据库系统,而无需考虑如何调度其中某几个节点的负载。MPP的系统扩展和NUMA不同,MPP是由多台SMP服务器通过一定的节点互联网络进行连接,协同工作,完成相同的任务,从用户的角度来看是一个服务器系统。但是访问的速度是不一样的,因为CPU访问本地内存的速度远远高于系统内其他节点的内存速度,这也是非一致存储访问NUMA的由来。转载 2023-07-25 17:48:10 · 2549 阅读 · 1 评论 -
Hive | 求最大连续登录天数的hql
【代码】Hive | 求最大连续登录天数的hql。原创 2023-07-12 19:17:58 · 73 阅读 · 0 评论 -
Flink 窗口聚合提前触发参数(流和SQL)
Flink sql 的窗口聚合也可以想 Streaming api 设置 trigger 一样,提前触发计算,并且输出的结果是 upsert 流,会发出 -U/+U 两条数据(输出到 upsert-kafka 就只有 +U 的消息了)转载 2023-05-22 22:18:12 · 297 阅读 · 0 评论 -
小红书基于数据湖的流批统一存储实践
我们的数据湖是采用的 Iceberg,当数据写入到 Kafka 中,内部线程会去抓取 Leader 数据,经过一些 Schema 数据解析转换为 Table Format 格式写入到 Iceberg 中,这个过程是异步的,对用户来说是无感的。这些都是作为数据共享层数据存储的底座,以及计算分析引擎的一个入口。在 Builtin 的形式下,我们看到只有一个独立的进程,在里面处理落日志之外,还会有一个异步的线程叫 Iceberg Syncer 去不断拉取日志中的数据,然后写入湖中,这种方式有优势也有劣势。转载 2023-04-19 00:20:03 · 719 阅读 · 0 评论 -
5个互联网大厂实时数仓建设实例,例例皆经典
目录一、实时数仓建设背景1. 实时需求日趋迫切2. 实时技术日趋成熟二、实时数仓建设目的1. 解决传统数仓的问题2. 实时数仓的应用场景三、实时数仓建设方案1. 滴滴顺风车实时数仓案例2. 快手实时数仓场景化案例3. 腾讯看点实时数仓案例4. 有赞实时数仓案例5. 腾讯全场景实时数仓建设案例目前各大公司的产品需求和内部决策对于数据实时性的要求越来越迫切,需要实时数仓的能力来赋能。传统离线数仓的数据时效性是 T+1,调度频率以天为单位,无法支撑实时场景的数据需求。即使能将调度频率设置成小时,也只能解决部分时效转载 2023-04-18 23:45:16 · 2406 阅读 · 0 评论 -
一文彻底搞懂实时数仓如何选型和构建
首先将各种来源的数据接入ODS贴源数据层,再对ODS层的数据使用Flink的实时计算进行过滤、清洗、转化、关联等操作,形成针对不同业务主题的DWD数据明细层,并将数据发送到Kafka集群。为数据仓库层,数据明细层的数据应是经过ODS清洗,转后的一致的、准确的、干净的数据。目前老的项目大部分还在使用的标准分层体现+流计算+批量计算的方案。:通过数据分层管理可以简化数据清洗的过程,因为把原来一步的工作分到了多个步骤去完成,相当于把一个复杂的工作拆成了多个简单的工作,每一层的处理逻辑都相对简单和容易理解。转载 2023-04-18 21:26:37 · 1131 阅读 · 0 评论 -
CDH集群日志清理
1.2 还有一个是 Cloudera Management Service服务产生的日志,存在/var/lib/...1.1 cdh的各组件的日志一般在/var/log目录下(最好前面加上/data),因此主要关注“/”查看/data/var/log下使用空间较大的文件夹,并由大到小排列。1.1 清理cm、cdh组件的日志数据。1.3 清理hdfs回收站数据。1.2 清理监控服务的数据。原创 2022-09-27 23:14:34 · 1445 阅读 · 0 评论 -
质量评估:如何全面评价一份数据的质量高低?
“ 数据质量的治理,是数据治理的主要内容之一。数据质量的全面评价,是数据质量治理的准绳。”这一系列的文章,分享一下如何进行数据治理。数据治理包括很多方面了,之前有分享过《数据仓库》相关的内容,也属于数据治理的范畴。今天聊聊数据质量的评估。可能很多小伙伴,之前都没有关注过数据质量的事。但如果是经常和数据打交道的话,以下的场景应该不陌生:场景一:作为分析师,要统计一下近7天用户的购买情况,结果从数仓中统计完发现,很多数据发生了重复记录。场景二:业务看报表,发现某一天的成交gmv暴跌,经过排查发现,是当天的数据缺转载 2022-06-22 12:00:47 · 2783 阅读 · 0 评论 -
数据治理系列:浅谈数据质量管理
数据质量管理是对数据从计划、获取、存储、共享、维护、应用、消亡生命周期的每个阶段里可能引发的数据质量问题,进行识别、度量、监控、预警等一系列管理活动,并通过改善和提高组织的管理水平使得数据质量获得进一步提高。数据质量管理的终极目标是通过可靠的数据提升数据在使用中的价值,并最终为企业赢得经济效益...转载 2022-06-14 10:00:43 · 1039 阅读 · 0 评论 -
Impala在网易大数据的优化和实践
导读:网易大数据平台的底层数据查询引擎,选用了Impala作为OLAP查询引擎,不但支撑了网易大数据的交互式查询与自助分析,还为外部客户提供了商业化的产品与服务。今天将为大家分享下Impala在网易大数据的优化和实践。01Impala的定位及优势Impala有哪些优势,让我们选择Impala作为网易内部的OLAP查询引擎?1. Impala在数据处理中的角色先来看一下Impala在数据处理中的角色。对于数据量较少的场景,例如百万数据以下的情况,可以采用传统的关系型数据库,如MySQL或者转载 2022-05-04 00:00:12 · 451 阅读 · 0 评论 -
教你学会在Hive中如何使用视图和索引
前言我们在写HQL有没有遇到过数据量特别大的时候比如,使用HQL 处理起来非常复杂,非常慢,这时候我们可以使用Hive给加个索引来提高我们的速度。多了就不说了,我们直接开始。一、Hive视图1.1 简介Hive 中的视图和 RDBMS 中视图的概念一致,都是一组数据的逻辑表示,本质上就是一条SELECT语句的结果集。视图是纯粹的逻辑对象,没有关联的存储 (Hive 3.0.0 引入的物化视图除外),当查询引用视图时,Hive 可以将视图的定义与查询结合起来,例如将查询中的过滤器推送到..转载 2022-05-03 23:10:41 · 675 阅读 · 0 评论 -
Hive执行报错CannotObtainBlockLengthException: Cannot obtain block length for LocatedBlock
报错日志如下:Caused by: org.apache.hadoop.hdfs.CannotObtainBlockLengthException: Cannot obtain block length for LocatedBlock{BP-438308737--1615993069368:blk_1073893685_152906; getBlockSize()=949; corrupt=false; offset=0; locs=[DatanodeInfoWithStorage[:9866,DS原创 2022-03-28 11:12:44 · 776 阅读 · 0 评论 -
数仓|聊聊如何搭建指标体系
写在前面作为数据研发,开发指标是我们的日常工作。在开发一个具体的指标时,不知道你是否想过以下问题: 为什么要开发这些指标 指标与指标之前有哪些联系 怎么衡量指标的好与坏 一个指标可以拆解吗 ... 你可能会说,这些都是PD和业务该考虑的问题,我只需要他们提供具体的口径,然后开发完成就完事了。如果真的是这样的话,那就很容易被别人定义为就是个干活的。所以我们在开发具体的需求时,要多思考指标背后的逻辑是什么,即便这些指标不是自己制定的。只有这样我们才能够站在一转载 2022-03-27 15:51:26 · 321 阅读 · 0 评论 -
数仓|如何使用RFM模型进行用户分层
在适当、有效的商务智能环境中,数据分析的质量必须得到保障。而确保数据分析质量的第一步就是根据问题需求从海量数据中提炼出真正所需的数据,因为这是发挥数据价值很重要的一个方面。通过数据的分析与可视化呈现可以更加直观的提供数据背后的秘密,从而辅助业务决策,实现真正的数据赋能业务。本文主要介绍在用户分层和用户标签中常常使用的一个模型——RFM模型。基本概念 RFM模型是在客户关系管理(CRM)中常用到的一个模型,RFM模型是衡量客户价值和客户创利能力的重要工具和手段。该模型通过一个...转载 2022-03-09 22:58:21 · 685 阅读 · 0 评论