
数据仓库
数仓大山哥
路漫漫其修远兮,吾将上下而求索。
展开
-
hive解析json数组 array json
在hive的内置函数中,提供了两个函数用来解析json,分别是get_json_object和json_tuple以下出现的hive函数不懂的请到 hive2.0中常用的内置函数大全 这篇博客去查看了解首先来查看下get_json_object函数的详细信息> desc function extended get_json_object;OKtab_nameget_json_object(json_txt, path) - Extract a json object from pa.原创 2020-12-06 11:18:02 · 3647 阅读 · 1 评论 -
数仓中面向主题的含义及场景详解
面向主题面向主题是数仓的四大特点之一,听起来很高大上,但是细细理解起来却有些费劲,本文主要是记录一下个人的理解,参考互联网上各种博客进行理解。概念解析抽象概念 主题(Subject) :在较高层次上将企业信息系统中数据进行综合、归类分析利用。属于一个抽象概念,每一个主题基本对应一个宏观分析领域。 逻辑概念 主题(Subject)是对应企业中某一宏观分析领域所涉及的分析对象(重点是分析的对象,对象,仔细理解一下对象的含义)。例如:"销售分析"就是一个分析领域,这个"销售分析"所涉及到的分原创 2020-08-08 19:17:53 · 5472 阅读 · 1 评论 -
SQL 求某天各个直播间最大在线人数
如下需求:一张表有如下字段:1)直播间: live_id2)用户:userid3)时间戳:date_stamp4)登陆类型:entry_type (登入和登出)求直播间在某一天同一时间点的最大在线用户数?逻辑说明:将直播间每登陆一个记为1,每登出一个记为-1,如此将会登陆和登出出现抵消,然后再根据时间进行排序求和。WITH live_tab as (select 1 live_id,'A' userid,to_date('20200801 10:00:00','yyyy原创 2020-08-05 20:15:27 · 4344 阅读 · 0 评论 -
无懈可击的数据仓库体系规划及实施流程
作者介绍水大人,数据开发小哥,爱折腾、爱记笔记,热衷方法论提炼和效率提升。虽然半路出家,但致力于全栈远景。《七天数据埋点之旅》系列作者。一、前言数仓规划是数仓建设的蓝图,涵盖从需求分析开始到最终的数仓评估验收整个环境;数仓规划之所以重要,是因为它是描述了数据流动的概念性框架,为元数据管理奠定了基础,对数据加工过程的理解、数仓建设的交流分享、数据的使用和问题排查、数仓健康度的评估都提供了极大的帮助。需要强调的是本节是从宏观上描述数仓的框架,具体到数据模型的细节对比、存储选型和管理、接入数据源管原创 2020-08-04 22:29:59 · 740 阅读 · 0 评论 -
数据仓库维度建模建设步骤
一、数据仓库的架构数据仓库(Data Warehouse DW)是为了便于多维分析和多角度展现而将数据按特定的模式进行存储所建立起来的关系型数据库,它的数据基于OLTP源系统。数据仓库中的数据是细节的、集成的、面向主题的,以OLAP系统的分析需求为目的。数据仓库的架构模型包括了星型架构(图二:pic2.bmp)与雪花型架构(图三:pic3.bmp)两种模式。如图所示,星型架构的中间为事实表,四周为维度表,类似星星;而相比较而言,雪花型架构的中间为事实表,两边的维度表可以再有其关联子表,从而表达了清晰原创 2020-08-04 22:22:45 · 2819 阅读 · 0 评论 -
数据仓库、主题域、主题概念与定义
一、数据仓库 关于数据仓库概念的标准定义业内认可度比较高的,是由数据仓库之父比尔·恩门(Bill Inmon)在1991年出版的“Building the Data Warehouse”(《建立数据仓库》)一书中所提出: 中文定义:数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。 英文定义:A data warehouse is a subject-oriented, integrated, nonvolatile, and ...原创 2020-07-27 11:14:20 · 6571 阅读 · 0 评论 -
美团配送数据治理实践【转载美团技术团队博客】
大数据时代的到来,让越来越多的企业看到了数据资产的价值。将数据视为企业的重要资产,已经成为业界的一种共识,企业也在快速探索应用场景和商业模式,并开始建设技术平台。但这里要特别强调一下,如果在大数据“拼图”中遗忘了数据治理,可能再多的技术投入也是一种徒劳。因为没有数据治理这一环节,其带来后果往往是:随处可见的数据不统一,难以提升的数据质量,难以完成的模型梳理,难以保障的数据安全等等,源源不断的基础性数据问题会进一步产生,进而导致数据建设难以真正发挥其商业价值。因此,消除数据的不一致性,建立规范的数据标原创 2020-07-23 17:14:11 · 1026 阅读 · 0 评论 -
Apache Kylin VS Apache Doris全方位对比
原文链接:https://cloud.tencent.com/developer/article/14772341 系统架构 1.1 What is Kylin 1.2 What is Doris 2 数据模型 2.1 Kylin的聚合模型 2.2 Doris的聚合模型 2.3 Kylin Cuboid VS Doris RollUp 2.4 Doris的明细模型 3 存储引擎 4 数据导入 5 查询 6 精确去重 7 元数据 8 高性能 9 高可用 10原创 2020-07-10 18:15:00 · 5690 阅读 · 1 评论 -
数据仓库增量数据获取方式解决方案
我们通常所说的增量数据,其实更确切的说,应该是变量数据,包括对数据的增加、修改和删除。特别是当有些系统存在物理删除数据的情况时,这一点尤为重要。从各源系统获取增量数据,是DW/BI类相关应用所必需的环节,那么从源系统获取增量数据的方式究竟有哪些呢?哪些又是我们经常使用的呢?下面我们就来简单介绍介绍:这第一种可以是由源系统在数据处理过程当中由应用程序直接记录增量数据,产生增量数据文件。这种做法对源系统的效率会有较大影响,需要改造源系统的应用(植入获取增量数据的程序)所以如果源系统方比较...原创 2020-07-02 12:46:11 · 1707 阅读 · 0 评论 -
数据仓库中的增量表,全量表,快照表,拉链表
1.增量表:新增数据,增量数据是上次导出之后的新数据。(1)记录每次增加的量,而不是总量;(2)增量表,只报变化量,无变化不用报(3)每天一个分区2、全量表每天的所有的最新状态的数据。(1)全量表,有无变化,都要报(2)每次上报的数据都是所有的数据(变化的 + 没有变化的)(3)只有一个分区3、快照表按日分区,记录截止数据日期的全量数据(1)快照表,有无变化,都要报(2)每次上报的数据都是所有的数据(变化的 + 没有变化的)(3)一天一个分区4、拉.原创 2020-07-02 12:40:35 · 1487 阅读 · 0 评论 -
解决缓慢变化维—拉链表
什么是缓慢变化维(SCD)、1、缓慢变化维简介缓慢变化维,简称SCD(Slowly Changing Dimensions) 一些维度表的数据不是静态的,而是会随着时间而缓慢地变化(这里的缓慢是相对事实表而言,事实表数据变化的速度比维度表快) 这种随着时间发生变化的维度称之为缓慢变化维 把处理维度表数据历史变化的问题,称为缓慢变化维问题,简称SCD问题2、举例说明例如:用根据用户维度,统计不同出生年份的消费金额占比。(80后、90后、00后)。而期间,用户可能去修改用户数据,例如:将原创 2020-07-01 16:05:43 · 3150 阅读 · 0 评论 -
浅析多维体系结构(总线架构), 一致性维度和一致性事实
在Kimball的维度建模的数据仓库中,关于多维体系结构(MD)有三个关键性概念:总线架构(Bus Architecture),一致性维度(Conformed Dimension)和一致性事实(Conformed Fact)。 总线架构 多维体系结构(总线架构) 数据仓库领域里,有一种构建数据仓库的架构,叫Multidimensional Architecture(MD),中文一般翻译为“多维体系结构”,也称为“总线架构”(Bus Architecture)。多维体系结构的创始人是数据仓库...原创 2020-06-28 12:56:15 · 2001 阅读 · 0 评论 -
星型模型与雪花模型的区别、分别有哪些优缺点【转载】以及什么时候使用雪花模型
原文链接:https://blog.youkuaiyun.com/winterPassing/article/details/105929303概念根据事实表和维度表的关系,可将常见的模型分为星型模型和雪花模型。在数据仓库的建设中,一般都会围绕着这两种模型来设计表关系或者结构。那么什么是事实表和维度表呢?在维度建模中,将度量称为“事实” ,将环境描述为“维度”。维度是用于分析事实所需要的多样环境。例如,在分析交易过程时,可以通过买家、卖家、商品和时间等维度描述交易发生的环境。事实则紧紧围绕着业务过程来设计,通过.转载 2020-06-28 10:29:46 · 4322 阅读 · 0 评论 -
hive/Oracle版本 SQL 用户连续登录天数计算,及最大最小登录时间
CREATE TABLE tm_login_log( user_id BIGINT, login_date date)ROW FORMAT delimited fields terminated by ',' stored as textfile;-- 这里的数据是最简化的情况,每个用户每天只有一条登录信息,vi /home/hadoop/login_log.txt1001,2017-01-011001,2017-01-021001,2017-01-041001,2017.原创 2020-06-11 22:11:56 · 915 阅读 · 0 评论 -
数据仓库数据模型的设计
数据仓库数据模型的设计1.方法选择数据模型是对现实世界数据特征的抽象,数据模型的设计方法就是对数据进行归纳和概括的方法。目前业界主要的模型设计方法论有两种,一是数据仓库之父 Bill Inmon 提出的范式建模方法,又叫 ER 建模,主张站在企业角度自上而下进行数据模型构建;二是 Ralph Kimball 大师倡导的维度建模方法,主张从业务需求出发自下而上构建数据模型。大数据环境下...原创 2020-03-22 23:19:16 · 975 阅读 · 0 评论 -
数据仓库的模型设计流程
数仓模型设计的整体流程涉及需求调研、模型设计、开发测试、模型上线四个主要环节,且规范设计了每个阶段的输出与输入文档。需求调研:收集和理解业务方需求,就特定需求的口径达成统一,在对需求中涉及到的业务系统或系统模块所承担的功能进行梳理后进行表字段级分析,并对数据进行验证,确保现有数据能够支持业务需求。 模型设计:根据需求和业务调研结果对模型进行初步归类,选择合适的主题域进行模型存放;确...原创 2020-03-22 22:59:56 · 2696 阅读 · 1 评论 -
数据仓库 Inmon与Kimball数仓理论对比
Kimball和Inmon是两种主流的数据仓库方法论,分别由 Ralph Kimbal大神 和 Bill Inmon大神提出,在实际数据仓库建设中,业界往往会相互借鉴使用两种开发模式Inmon和Kimball是数据仓库领域伟大的开拓者,他们均多年从事数据仓库的研究,Inmon还被称为“数据仓库之父”。Inmon的《数据仓库》和Kimball的《数据仓库工具箱》都是此领域的经典之作。后来人把这两...原创 2020-03-21 23:31:15 · 7233 阅读 · 1 评论 -
数据库的设计(E-R图,数据库模型图,三大范式)
一.数据库设计的概念数据库设计是将数据库中的数据实体及这些数据实体之间的关系,进行规划和结构化的过程.二.数据库设计的重要性如果一个数据库没有进行一个良好的设计,那么这个数据库完成之后他的缺点是:1.效率会很低2更新和检索数据时会出现很多问题,反之,一个数据库被尽心策划了一番,具有良好的设计,那他的优点是:1.效率会很高.2.便于进一步扩展.3.使得应用程序的开发变...原创 2020-01-19 13:51:36 · 13473 阅读 · 0 评论 -
数据仓库中历史拉链表的更新方法
关键字:数据仓库、极限存储、历史拉链表、更新在之前介绍过数据仓库中的历史拉链表《数据仓库数据模型之:极限存储–历史拉链表》,使用这种方式即可以记录历史,而且最大程度的节省存储。这里简单介绍一下这种历史拉链表的更新方法。本文中假设:数据仓库中订单历史表的刷新频率为一天,当天更新前一天的增量数据; 如果一个订单在一天内有多次状态变化,则只会记录最后一个状态的历史; 订单状态包括三个...转载 2019-09-20 14:56:09 · 667 阅读 · 0 评论 -
数据仓库数据模型之:极限存储–历史拉链表
在数据仓库的数据模型设计过程中,经常会遇到这样的需求:数据量比较大; 2. 表中的部分字段会被update,如用户的地址,产品的描述信息,订单的状态等等; 3. 需要查看某一个时间点或者时间段的历史快照信息,比如,查看某一个订单在历史某一个时间点的状态, 比如,查看某一个用户在过去某一段时间内,更新过几次等等; 4. 变化的比例和频率不是很大,比如,总共有1000万的会员,每天新增和发...转载 2019-09-20 14:54:32 · 255 阅读 · 0 评论 -
HIVE针对删除事件的支持
Delete操作在MySQL中非常常见,由于Hive不支持Delete,如果想把MySQL中删除的数据在Hive中删掉,需要采用“迂回”的方式进行。对需要处理Delete事件的Merge流程,采用如下两个步骤:首先,提取出发生了Delete事件的数据,由于Binlog本身记录了事件类型,这一步很容易做到。将存量数据(表A)与被删掉的数据(表B)在主键上做左外连接(Left outer jo...原创 2019-09-06 15:11:50 · 702 阅读 · 0 评论