数仓开发:DIM层数据处理

一、了解DIM层

这个就是数仓开发的分层架构

 我们现在是在DIM层,从ods表中数据进行加工处理,导入到dwd层,但是记住我们依然是在DIM层,而非是上面的ODS和DWD层。

二、处理维度表数据

①先确认hive的配置

-- 开启动态分区方案
-- 开启非严格模式
set hive.exec.dynamic.partition.mode=nonstrict;
-- 开启动态分区支持(默认true)
set hive.exec.dynamic.partition=true;
-- 设置各个节点生成动态分区的最大数量: 默认为100个  (一般在生产环境中, 都需要调整更大)
set hive.exec.max.dynamic.partitions.pernode=10000;
-- 设置最大生成动态分区的数量: 默认为1000 (一般在生产环境中, 都需要调整更大)
set hive.exec.max.dynamic.partitions=100000;
-- hive一次性最大能够创建多少个文件: 默认为10w
set hive.exec.max.created.files=150000;


-- hive压缩
-- 开启中间结果压缩
set hive.exec.compress.intermediate=true;
-- 开启最终结果压缩
set hive.exec.compress.output=true;
-- 写入时压缩生效
set hive.exec.orc.compression.strategy=COMPRESSION;

 ②对于各个表数据进行处理

1、例如:拉平处理

2、例如:将分类编号替换为一二三级分类ID、编码和名称

关联分类表,将商品表中的category_no 对应的是分类表中的三级分类

 3、例如:有很多条件

门店日清商品表处理

日清商品,不满足以下要求的商品需要清理掉不再入库,主要是一些生鲜类和现做的食物

  1. 一切以实物为标准,不允许变色、不新鲜产品入库。

  2. 骨类入库存放时间不得超过24小时。

  3. 上冰台的所有促销品当天尽量要做到日清,对于上冰台的当日未销售完的产品,未变色,不影响第二天销售的可以入库。

  4. 对于化冻的禽副产品当日必须销售完毕,猪副产品根据品相颜色以实物相论。

从门店商品表中进行条件过滤,过滤出日清商品,然后进行保存

三、选择数据库,PostGreSql

①PostGreSql的介绍及其优势

PostgreSQL是一个强大的开源数据库系统,提供了诸如可靠性、功能性、可扩展性等特性,是企业级应用的理想选择。

以下是PostgreSQL的一些主要优势:
1.完全兼容ACID(原子性、一致性、隔离性、持久性):PostgreSQL支持事务的完整性和可靠性。

2.支持标准SQL:PostgreSQL遵循SQL标准,允许复杂和标准的SQL查询。

3.支持对象关系的数据库:PostgreSQL支持类似于Oracle的表空间、模式和数据库表的
概念。

4.强大的数据类型支持:PostgreSQL支持大对象、数组、范围查询等高级数据类型。

5.支持NoSQL数据类型:PostgreSQL的JSONB数据类型允许存储和查询NoSQL风格的数据。

6.强大的扩展性:PostgreSQL提供了扩展插件,如PostGIS(地理信息处理)、pg_partman(分区管理)

7.多版本并发控制:PostgreSQL支持多版本并发控制(MVCC),提供了一种高效的读写操作方式。

8.高可靠性:PostgreSQL提供了热备份、流复制等高可靠性特性。

9.开源免费:PostgreSQL是开源免费的,有着活跃的开发者社区和广泛的应用场景。

10.安全性:PostgreSQL提供了强大的安全特性,包括ACL、SSL、密码加密等。以下是一个简单的PostgreSQL连接代码示例(使用Python的psycopg2库):

②PostGreSql的基本使用

1、datagrip配置

2、基本数据操作

-- 数据表的创建
create table tb_user(
    id int,
    name varchar(20),
    age int,
    gender varchar(20)
);

-- 数据表的写入
insert into tb_user values(1,'张三',20,'男');

-- 查询数据
select * from tb_user;
select count(*) from tb_user;
select gender,sum(age) from tb_user group by gender;


select id,sum(age) over(order by id) from tb_user;

with tb as(
    select * from tb_user
)
select * from tb;

四、hive表数据导出PostGreSql

①需要再postGreSQL中创建对应表保存数据,参考建表语句文档

②配置datax任务,启动datax-web服务 /export/server/datax-web-2.1.2/bin/start-all.sh

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/593150.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Unity技术学习:RenderMesh、RenderMeshInstanced

叠甲:本人比较菜,如果哪里不对或者有认知不到的地方,欢迎锐评(不玻璃心)! 导师留了个任务,渲染大量的、移动的物体。 当时找了几个解决方案: 静态批处理: 这东西只对静…

Springboot+Vue项目-基于Java+MySQL的校园二手书交易平台系统(附源码+演示视频+LW)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &…

Netty 网络编程深入学习【一】:ByteBuffer 源码解析

ByteBuffer源码阅读 ByteBuffer是一个用于处理字节数据的缓冲区类。它是Java NIO 包的一部分,提供了一种高效的方式来处理原始字节数据。 ByteBuffer 可以用来读取、写入、修改和操作字节数据,它是一种直接操作字节的方式,比起传统的 InputSt…

如何高速下载,百度 阿里 天翼 等网盘内的内容

如何高速下载,百度 阿里 天翼 等网盘内的内容🏅 前言教程下期更新预报🏅 前言 近段时间经常给大家分享各种视频教程,由于分享的资料是用迅雷网盘存的,但是绝大部分用户都是使用的某度,阿某的这些网盘&…

AI工具大揭秘:如何改变我们的工作和生活

文章目录 📑前言一、常用AI工具:便利与高效的结合1.1 语音助手1.2 智能推荐系统1.3 自然语言处理工具 二、创新AI应用:不断突破与发展2.1 医疗诊断AI2.2 智能家居2.3 无人驾驶技术 三、AI工具在人们生活中的应用和影响3.1 生活方式的变化3.2 …

旅游系列之:庐山美景

旅游系列之:庐山美景 一、路线二、住宿二、庐山美景 一、路线 庐山北门乘坐大巴上山,住在上山的酒店东线大巴游览三叠泉,不需要乘坐缆车,步行上下三叠泉即可,线路很短 二、住宿 长江宾馆庐山分部 二、庐山美景

Ubuntu 20.04安装桌面XFCE

1.安装Xfce软件包 $ sudo apt update $ sudo apt install xfce42.选择gdm3和lightdm 我这里选择的是lightdm LightDM,即:Light Display Manager,是一个全新的、轻量的Linux桌面的桌面显示管理器,而传统的Ubuntu用的是GNOME桌面…

HR面试测评,招聘行政部门主管的人才测评方案

把合适的人放入到合适的岗位中,可以实现双赢(企业效益和个人成就),人力资源管理者HR又该如何去发掘行政主管岗位的人才? 行政部门主管属于管理层岗位,在企业发展中有重要的作用,可以协助企业…

Docker私有镜像仓库搭建 带图形化界面的

搭建镜像仓库可以基于Docker官方提供的DockerRegistry来实现。 官网地址:https://hub.docker.com/_/registry 先配置私服的信任地址: # 打开要修改的文件 vi /etc/docker/daemon.json # 添加内容: "insecure-registries":["http://192.…

FastAPI - Pydantic相关应用

参考链接:Pydantic官方文档 文章目录 定义数据模型创建模型实例数据验证数据转换模型转换模型更新模型配置辅助类Fieldvalidator Pydantic 是一个 Python 库,主要用于数据验证和管理。数据验证是指检查数据是否符合预定的规则和格式,比如检查…

xss注入漏洞解析(下)

DOM型XSS 概念 DOM全称Document Object Model,使用DOM可以使程序和脚本能够动态访问和更新文档的内容、结 构及样式。DOM型XSS其实是一种特殊类型的反射型XSS,它是基于DOM文档对象模型的一种漏洞。 HTML的标签都是节点,而这些节点组成了DOM的…

TeXCount failed. Please refer to LaTeX Utilities Output for details.

写LaTeX的时候总是报这个错、看了下网上也没有什么好的解决方法、就是单词计数器无法使用 我的解决方法: 看下驱动器是否还在,不在的话重新安装一下、不要把驱动器给删除了

开关门机关

根物体创建动画 子物体录制动画 ctrl6:调用动画窗口 添加关键帧:输入添加关键帧到第几帧,然后点击录制,最后在该物体的面板上修改其位置等,记得添加完要结束录制 搞个父物体是为了让动画的可移植性变高 设置触发器方…

基于OpenCv的图像金字塔

⚠申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址。 全文共计3077字,阅读大概需要3分钟 🌈更多学习内容, 欢迎👏关注👀【文末】我的个人微信公众号&#xf…

人工智能大模型应用指南

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。…

【Flask 系统教程 2】路由的使用

Flask 是一个轻量级的 Python Web 框架,其简洁的设计使得构建 Web 应用变得轻而易举。其中,路由是 Flask 中至关重要的一部分,它定义了 URL 与视图函数之间的映射关系,决定了用户请求的处理方式。在本文中,我们将深入探…

设计模式——行为型模式——策略模式

策略模式 定义 策略模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。 策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来&a…

【ARM Cortex-M3指南】3:Cortex-M3基础

文章目录 三、Cortex-M3基础3.1 寄存器3.1.1 通用目的寄存器 R0~R73.1.2 通用目的寄存器 R8~R123.1.3 栈指针 R133.1.4 链接寄存器 R143.1.5 程序计数器 R15 3.2 特殊寄存器3.2.1 程序状态寄存器3.2.2 PRIMASK、FAULTMASK和BASEPRI寄存器3.2.3 控制寄存器 3.3 操作模式3.4 异常…

# 在 Windows 命令提示符(cmd)中,可以通过以下方法设置长命令自动换行

在 Windows 命令提示符(cmd)中,可以通过以下方法设置长命令自动换行 1、点击 cmd 窗口左上角标题栏,选择【属性】。 2、在【属性】菜单中,依次点击【选项】,找到【编辑选项】下面的【自动换行】&#xff…