自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 维度建模(四)

【代码】维度建模(四)

2023-10-20 10:29:20 114 1

原创 维度建模(三)

维度建模方法一、使用一致性维度1.1 一致性维度当不同的维度表的属性具有相同列名和领域内容时,称维度表具有一致性利用一致性维度属性与不同事实表关联,可以将不同事实表的信息合并到同一个报表中一致性维度由业务和数据管理方共同制定,可被所有事实表重复使用保证分析结果一致,减少开销1.2 缩减维度一种一致性维度,由基本维度的列与行的子集构成构建聚集型事实表时,需要缩减上卷维度当商业过程获取高粒度级别数据时,也需要缩减维度,如按月和品牌获取数据当两个维度具有相同的粒度级别,但是其中一个表示

2023-10-20 10:27:42 183 1

原创 维度建模(二)

业务过程:指组织完成的业务型活动,如获取订单、会员注册、每月销售额快照等。业务过程事件获取度量,转化为事实表中的事实粒度:用于确定事实表中一行代表什么,在选择维度和事实前必须确定粒度,确保维度和事实与粒度一致。原子粒度是最细粒度,通常维度建模要从原子粒度开始维度:围绕某一过程时间,用于描述 “谁、什么、何处、何时、如何、为什么” 等背景事实:设计过程事件的度量,通常是数量值,事实表的行与事件必须是一对一的关系,同一张表中所有行都必需有相同的粒度。

2023-10-20 10:26:04 89 1

原创 维度建模(一)

实体-关系规范化模型概念模型:真实世界中对问题域内的事物的描述,不是对软件设计的描述实体-关系逻辑模型:是对概念模型的进一步分解和细化,描述概念模型需要的具体信息和功能物理模型:对真实数据库的描述,即表、字段、数据类型、长度、主键、外键、索引、是否可为空、默认值等。

2023-10-20 10:23:23 275 1

原创 Spark Shuffle 解析

Spark Shuffle 解析一、Hash Shuffle1、普通 Hash Shuffleshuffle write 阶段每个 core 会执行n个task,每个 task 都会对数据按 key 做 hash/numReduce 取模的操作,生成下游 numReduce 个小文件,每个小文件对应下游的一个 task,总文件数 = numTask * numReduceshuffle read task 拉取属于自己的文件进行计算2、优化后的 Hash Shuffle与之前不同的是,s

2022-02-16 17:25:57 597

原创 Spark流处理中定时更新广播变量值

Spark流处理中定时更新广播变量值在实际项目应用上,某些需求会有更新静态规则表的情况,如消息过滤规则、风控规则等。通常这样的表数据量不会大,在spark中使用广播变量的形式使用,而广播变量是不支持更新的,怎样在流处理过程中更新,下面分别论述Spark streaming和Structured streaming的场景。一、Spark streaming可以利用单例模式定时的删除已经广播的值,同时获取新的变量值重新广播,假如要广播的是RDS中的表,代码示例如下:注意事项:spark stre

2022-02-07 17:44:37 2010

原创 Spark内存管理

Spark 内存管理一、统一内存管理1、堆内内存(on-heap)大小可由 spark 作业提交参数 -executor-memory,或配置参数 spark.executor.memory 来手动配置executor 进程 JVM 可用内存,由 JVM 统一管理,executor 内并发任务共享1.1 空间分配30% 存储内存(storge):存储 rdd 缓存数据、broadcast 数据(数据是否序列化由缓存级别决定)30% 执行内存(execution):shuffle 执行过程

2021-02-21 18:36:20 769

原创 Spark作业提交及任务调度

Yarn-Cluster 模式任务流程一、任务提交流程执行脚本提交任务,实际是启动一个 SparkSubmit 的 JVM 进程SparkSubmit 类中的 main 方法 反射调用 YarnClusterApplication 的 main 方法创建客户端YarnClusterApplication 在客户端创建 yarnClient,向 ResourceManager 提交用户的应用程序RM 发送执行指令:bin/java ApplicationMaster,在指定的 Nod

2021-02-21 18:34:39 311

原创 Kylin Cube构建流程及优化

Cube 构建流程及优化Kylin将Cube构建任务分解为几个依次执行的步骤,这些步骤包括Hive操作、MapReduce操作和其他类型的操作。1、创建Hive的中间平表这一步将数据从源Hive表提取出来(和所有join的表一起)并插入到一个中间平表。如果Cube是分区的,Kylin会加上一个时间条件以确保只有在时间范围内的数据才会被提取。你可以在这个步骤的log查看相关的Hive命令,比如:hive -e "USE default;DROP TABLE IF EXISTS kylin_i

2021-02-21 18:30:51 222 1

原创 Kylin元数据及存储管理

001_Kylin元数据及存储管理一、元数据管理查看实际参与与计算的Cuboid./bin/kylin.sh org.apache.kylin.engine.mr.common.CubeStatsReader ${CUBE_NAME}1、元数据路径Kylin使用 resource root path + resource name + resource suffix 作为key值(HBase中的rowkey)来存储元数据。Resource root pathresource

2020-12-26 19:21:45 1073

原创 Presto配置LDAP认证 & Kylin配置Presto下压

005_Presto配置LDAP及Kylin的下压配置一、启用LDAPS1、创建ApacheDS服务端使用的keystone创建keystorecd apacheds-2.0.0-M25/default/conf/keytool -genkeypair -alias apacheds -keyalg RSA -validity 90 -keystore ads.keystore 输入密钥库口令: 再次输入新口令: 您的名字与姓氏是什么? [Unknown]: dw303

2020-12-24 20:52:34 1088

原创 图文简述ApacheDS的安装

SparkCore一、RDD概述1.1 什么是RDDRDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象。代码中是一个抽象类,它代表一个弹性的、不可变、可分区、里面的元素可并行计算的集合。1.2 RDD的属性(1)一组分区(Partition),表示数据可分区,即数据集的基本组成单位;(2)一个计算每个分区的函数,一个分区形成一个任务;(3)RDD之间的依赖关系;(4)一个Partitioner,即RDD的分片函数,RDD默

2020-12-23 18:09:56 440

原创 CDH集成Kylin

CDH版Kylin的安装

2019-12-22 20:19:42 774

原创 CDH集成Presto

CDH集群集成Presto

2019-12-22 19:01:09 2040 2

原创 CentOS7离线安装CDH5.15

CDH5.15.2及Spark、KAFKA、LZO的安装及安装问题解决办法

2019-12-21 21:18:36 1206

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除