- 博客(16)
- 问答 (3)
- 收藏
- 关注
原创 第二部分数仓建模- OneData 体系之需求调研及规划(一)
大数据之路:阿里巴巴大数据实践》OneModel即建立企业统一的数据公共层,从设计、开发、部署和使用上保障了数据口径规范和统一,实现数据资产全链路管理,提供标准数据输出。OneID即建立业务实体要素资产化为核心,实现全域链接、标签萃取、立体画像,其数据服务理念根植于心,强调业务模式。OneService即数据被整合和计算好之后,需要提供给产品和应用进行数据消费,为了更好的性能和体验,需要构建数据服务层,通过统一的接口服务化方式对外提供数据服务。
2023-02-16 15:13:00
1551
原创 第一部分数据仓库-概述
数据仓库(英文名称为:Data Warehouse ),可简写为 DW;数据仓库是一个面向主题、集成性、稳定性、反映历史变化的数据集合;主要用于组织积累的历史数据,以及使用分析方法( OLAP 、数据分析)进行分析整理,进而辅助决策,为管理者、企业系统提供数据支持,构建商业智能。
2023-02-16 15:12:38
392
原创 第二部分数仓建模- OneData 体系之模型设计(三)
上一篇主要阐述了 OneData 建模体系中的规范定义部分,而本篇主要阐述的是分层模型设计部分。当了解到每一个业务过程与维度的关联,就可以基本明确需要设计事实表与维度表;再通过明确统计指标的深入分析,就可以下沉某些相同计算逻辑。这是数仓的基本架构雏形已明确,而接下来则是设计各个表如何设计。例如:什么样的表放在ODS层以或者DWD层、及这样设计的依据是什么;后续内容将展开说明。
2023-02-16 15:12:26
739
原创 第一部分数据仓库-建模
上一篇聊到数据仓库的基本概念以及经典的建模方法的对比(范式建模 VS 维度建模),那么本篇主要阐述关于数据仓库建模的基本概念。
2023-02-16 15:12:19
372
原创 第二部分数仓建模- OneData 体系之规范定义(二)
上一篇主要阐述了OneData建模体系的大概流程,以及三个重要板块中的需求调研及规划部分;而本篇主要阐述规范定义模块的内容。在我们知道数仓涵盖的业务流程以及需求点,然后再进行数据域的划分;这时数仓大致的架构与方向基本明确,而接下来要说的则是具体细节。例如:需要建哪些维度表、每张维度表的粒度是什么、公共计算逻辑是哪些等等;后续内容将会展开说明。规范定义指以维度建模作为理论基础,构建总线矩阵,划分和定义数据域、业务过程、维度、度量 /原子指标、修饰类型、修饰词、时间周期、派生指标等;
2023-02-16 15:11:38
973
原创 第三部分数仓建模- OneData 体系之维度表设计(一)
上一篇主要阐述了 OneData 建模体系中的模型设计,而本篇主要阐述是怎么创建维度表。当了解到数仓每层的设计目的时,对于每层模型设计有了进一步的掌握;在此之前所提及到的维度模型设计概念比较模糊,而接下来则是深入阐述维度模型设计。例如:什么是缓慢维变化,以及规范化与反规范化的区别;后续内容将展开说明。维度表可以理解为是对数据抽象的一个实体,它是维度建模的基础和灵魂。维度表是围绕业务过程所处环境进行设计的,它主要包含一个主键和各种维度字段(维度属性);
2023-02-16 15:10:52
861
原创 第三部分数仓建模- OneData 体系之事实表设计(二)
上一篇主要阐述了维度表的设计,而本篇主要阐述怎么创建事实表。维度表是围绕业务过程所处环境设计,那么事实表则是围绕业务过程设计;而接下来将深入阐述事实表模型设计。例如:事实表有几种类型、什么是可加、半可加和不可加;后续内容将展开说明。事实表是指对实体发生行为事实时所产生的数据组合成的模型。事实表是不断动态增长,数据量一般比维度表要大;例如商品交易表、系统日志表等等属于事实表。事实表的组成包括与该业务过程相关的维度引用(维度表的外键),以及该业务过程的度量(可累加的数字字段,例如:金额)。
2023-02-16 15:10:09
744
原创 Spark 内存管理
本篇主要阐述 Spark 内存管理,主要在于通过理解基本原理,这样有助于更好地开发 Spark 应用程序和进行性能调优。Spark 集群会启动 Driver(默认内存:1G) 和 Executor(默认内存:512M) 两种 JVM 进程,前者为主控进程,负责创建 Spark 上下文,提交 Spark 作业(Job),并将作业转化为计算任务(Task),在各个 Executor 进程间协调任务的调度,后者负责在工作节点上执行具体的计算任务,并将结果返回给 Driver,同时为需要持久化的 RDD 提供存储功
2022-07-02 11:26:29
571
1
原创 Spark Shuffle 过程
本篇主要阐述Spark Shuffle过程,在执行 Job 任务时,无论是 MapReduce 或者 Spark Shuffle 过程都是比较消耗性能;因为该环节包含了大量的磁盘 IO、序列化、网络数据传输等操作。因此,在这一过程中进行调参优化,就有可能让 Job 执行效率上更好。在 Spark 1.2 以前,默认的 Shuffle 计算引擎是 HashShuffleManager。该 ShuffleManager 会产生大量的中间磁盘文件,进而由大量的磁盘 IO 操作影响了性能。...
2022-07-02 11:19:55
3991
原创 Spark 划分 Stage
本篇主要阐述 DAGSchedule 划分 Stage 的过程,其主要目的是为了了解 Stage 划分的原理;同时对源码分析更能清楚过程,当某个任务出现运行时间较长时;如果可以清楚其 Stage 划分的过程,就可以大概清楚是什么算子导致运行时间较长,从而可以进行优化提高 Spark 任务运行的效率。...
2022-07-02 11:15:35
1773
原创 SparkContext 初始化过程源码说明
本篇主要的目的是阐述 SparkContext 初始化过程中,重要环节源码的逻辑流程的梳理。SparkContext 实例化的过程是一个比较复杂的过程,主要包括SparkEnv、spark-history、心跳检测、状态追踪、广播、资源与任务调度、底层通信等等组件的初始化。本篇文章的主要目的在于:了解 Spark 提交任务底层是怎样将 Task 任务提交至 Executor 中;了解 SparkContext 初始化过程中几个重要的环节。......
2022-07-02 11:09:38
532
原创 Spark 任务提交流程涉及源码说明
本篇主要阐述 Spark on Yarn 任务提交源码分析说的流程,目的在于了解任务提交的大概流程;其主要是想通过对 Spark 任务提交流程与涉及到的源码了解;在遇到问题的时候可以快速定位到是由什么环节导致的,从而可以快速排查问题并予以解决。......
2022-07-02 11:02:14
963
原创 Spark 参数说明
本篇的主要阐述了Spark 各个参数的使用场景,以及使用的说明与参考;其实主要就是对 Spark 运行过程中各个使用资源的地方,通过调节各种参数来优化资源使用的效率,从而提升Spark作业的执行性能。首先通过大致的 Spark 任务提交流程了解,然后再介绍说明 Spark 各个参数的使用方式,这样更有利于熟悉了解。.........
2022-07-02 10:52:25
2907
原创 Spark 任务提交流程说明
本篇主要阐述 Spark 任务提交的流程,其主要目的在于通过了解 Spark 任务提交可以清楚大概的流程,并知道每一步是做什么;当遇到问题可以快速的知道是什么环节或者哪一步骤出现了问题,及时定位到问题并解决。目前Spark官方支持五中集群管理模式,分别是 Standalone、Yarn、Mesoes、Kubernetes、Amazon EC2 等。本篇文章主要阐述笔者平时经常使用的 Standalone 与 Yarn 集群管理模式。..................
2022-07-02 10:30:26
5787
2
原创 Spark简述
SparkApache Spark 是一个开源框架,专为大规模数据处理而设计的快速通用的计算引擎。Spark 源自加州大学伯克利分校的 AMPLab,现在已被捐献给了 Apache 软件基金会。Spark 继承了 MapReduce 的线性扩展性和容错性,同时对它做了一些重量级扩展。Spark 摒弃了 MapReduce 先 Map 再 Reduce 这样的执行方式,Spark 引擎可以执行更...............
2020-03-19 10:32:21
3283
2
原创 阿里云centos服务器Tomcat启动问题
在完成服务器上Tomcat的配置的时候,启动了Tomcat: 这里显示启动成功;然后又将防火墙关掉,并在阿里云上开放了8080端口。在进行外网访问的时候,页面一直在进行加载,最后就显示连接超时。然后再去查看了一下Tomcat的日志文件,看到了如下问题:然后想到随机数生成器。解决方法:将jre/lib/security/java.security中的securera...
2018-10-03 11:12:20
434
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人