
数据仓库
文章平均质量分 91
大数据技术与数仓
欢迎关注我的公众号【大数据技术与数仓】
回复【资料】领取大数据书籍与视频
展开
-
关于构建数据仓库的几个问题
写在前面数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。近年来,随着大数据的应用不断深入,构建企业级数据仓库成为了企业进行精细化运营的一种趋势。从管理者的视角来看,数据仓库是赋能业务并辅助决策的一种工具,从开发者的视角来看,数据仓库是一堆数据模型的集合。数仓开发是一个系原创 2021-03-15 15:17:25 · 1750 阅读 · 0 评论 -
使用SQL窗口函数进行商务数据分析
本文会从一个商务分析案例入手,说明SQL窗口函数的使用方式。通过本文的5个需求分析,可以看出SQL窗口函数的功能十分强大,不仅能够使我们编写的SQL逻辑更加清晰,而且在某种程度上可以简化需求开发。数据准备本文主要分析只涉及一张订单表orders,操作过程在Hive中完成,具体数据如下:-- 建表CREATE TABLE orders( order_id int, customer_id string, city string, add_time string,原创 2020-09-06 16:57:55 · 325 阅读 · 0 评论 -
元数据管理|Hive Hooks和Metastore监听器介绍
元数据管理是数据仓库的核心,它不仅定义了数据仓库有什么,还指明了数据仓库中数据的内容和位置,刻画了数据的提取和转换规则,存储了与数据仓库主题有关的各种商业信息。本文主要介绍Hive Hook和MetaStore Listener,使用这些功能可以进行自动的元数据管理。通过本文你可以了解到:元数据管理Hive Hooks 和 Metastore ListenersHive Hooks基本使用Metastore Listeners基本使用元数据管理元数据定义按照传统的定义,元数据( Metad原创 2020-08-22 16:24:00 · 2756 阅读 · 3 评论 -
实时数仓|基于Flink1.11的SQL构建实时数仓探索实践
实时数仓主要是为了解决传统数仓数据时效性低的问题,实时数仓通常会用在实时的OLAP分析、实时的数据看板、业务指标实时监控等场景。虽然关于实时数仓的架构及技术选型与传统的离线数仓会存在差异,但是关于数仓建设的基本方法论是一致的。本文会分享基于Flink SQL从0到1搭建一个实时数仓的demo,涉及数据采集、存储、计算、可视化整个处理流程。通过本文你可以了解到:实时数仓的基本架构实时数仓的数据处理流程Flink1.11的SQL新特性Flink1.11存在的bug完整的操作案例古人学问无遗力,原创 2020-08-16 23:11:17 · 1795 阅读 · 2 评论 -
数仓开发应避免的10个陷阱
在Ralph Kimball和Margy Ross 的《数据仓库工具包》一书中,提到了数据仓库设计中的10个常见陷阱,本文针对每个陷阱添加了一条与数据仓库设计经验有关的附加解释。在着手进行数据仓库项目之前,可以了解一下数这10个常见陷阱。这样才可以不被数据仓库设计的陷阱所困扰,避免这10个常见的陷阱可以在构建数仓的过程少走些弯路。陷阱10:过于迷恋技术和数据,而没有将重点放在业务需求和目标上。数仓归根结底是要解决业务问题的,狂拽酷炫的数据架构和层出不穷的新技术通常会比去了解用户需求更具有吸引力。其实原创 2020-08-07 23:15:23 · 299 阅读 · 0 评论 -
数仓|大数据时代,维度建模过时了吗?
20世纪80年代末期,数据仓库技术兴起。自Ralph Kimball 于1996 年首次出版The Data Warehouse Toolkit(Wiley)一书以来,数据仓库和商业智能(Data Warehousing and Business Intelligence, DW/BI)行业渐趋成熟。Kimball提出了数据仓库的建模技术–维度建模(dimensional modelling),该方法是在实践观察的基础上开发的。虽然它不基于任何理论,但是在实践中却非常成功。维度建模被视为设计数据仓库和数据.原创 2020-07-12 22:42:50 · 544 阅读 · 0 评论 -
数仓规范|使SQL更易于阅读的几个小技巧
无论是数仓开发还是数据分析,写一手好的SQL是一项基本的技能。毋庸置疑,编写性能较好的SQL是非常重要的,但是,SQL的可读性同样是不容小觑的。一个有着混乱格式的SQL脚本,往往需要花费较长的时间去弄清楚脚本的具体逻辑。如果你曾经被祖传的毫无章法的SQL脚本狂虐过,你一定心有感触。本文将分享几个SQL格式的规范,当然仁者见仁智者见智,其实没有严格的标准,如果有,那就是保证易于阅读和易于维护。秦人不暇自哀,而后人哀之;后人哀之而不鉴之,亦使后人而复哀后人也大小写保持一致可以对SQL关键字使用不同的.原创 2020-07-09 22:29:59 · 683 阅读 · 0 评论 -
数仓开发需要了解的BI数据分析方法
数仓开发经常需要与数据表打交道,那么数仓表开发完成之后就万事大吉了吗?显然不是,还需要思考一下如何分析数据以及如何呈现数据,因为这是发挥数据价值很重要的一个方面。通过数据的分析与可视化呈现可以更加直观的提供数据背后的秘密,从而辅助业务决策,实现真正的数据赋能业务。通过本文你可以了解到:帕累托分析方法与数据可视化RFM分析与数据可视化波士顿矩阵与数据可视化帕累托分析与数据可视化基本概念帕累托(Pareto)分析法,又称ABC分析法,即我们平时所提到的80/20法则。关于帕累托(Pareto)分原创 2020-06-01 09:30:48 · 992 阅读 · 0 评论 -
基于Canal与Flink实现数据实时增量同步(二)
本文主要从Binlog实时采集和离线处理Binlog还原业务数据两个方面,来介绍如何实现DB数据准确、高效地进入Hive数仓。背景在数据仓库建模中,未经任何加工处理的原始业务层数据,我们称之为ODS(Operational Data Store)数据。在互联网企业中,常见的ODS数据有业务日志数据(Log)和业务DB数据(DB)两类。对于业务DB数据来说,从MySQL等关系型数据库的业务数据...原创 2020-03-29 12:56:32 · 2886 阅读 · 7 评论 -
基于Canal与Flink实现数据实时增量同步(一)
canal是阿里巴巴旗下的一款开源项目,纯Java开发。基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了MySQL(也支持mariaDB)。准备常见的binlog命令# 是否启用binlog日志show variables like 'log_bin';# 查看binlog类型show global variables like 'binlog_format';...原创 2020-03-29 12:52:29 · 5058 阅读 · 2 评论 -
历史拉链表实战
历史拉链表是一种数据模型,主要是针对数据仓库设计中表存储数据的方式而定义的。所谓历史拉链表,就是指记录一个事物从开始一直到当前状态的所有变化信息。拉所有记录链表可以避免按每一天存储造成的海量存储问题,同时也是处理缓慢变化数据的一种常见方式。原创 2019-11-09 20:40:45 · 2284 阅读 · 0 评论