问题标签 [sql-data-warehouse]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1113 浏览

sql - dwh oracle中完整表与增量表与增量表之间的区别是什么

我试图理解完整表、增量表和增量表的概念,原则上为了简化(更快的加载过程)每日 ETL 负载是使用增量表的好习惯

满桌

增量表

增量表

我读过一些地方

使用增量负载移动数据可以缩短 ETL 流程的运行时间并降低出现问题时的风险

有人可以帮我理解这个概念吗?

0 投票
1 回答
172 浏览

sql - 如何在 ETL 期间用代理键替换主键?

有一个困扰我一段时间的问题。

在 ETL 过程中,如何用代理键替换主键?就像工作流程一样 - 它只是分配新的身份吗?如果是这样,以前的值如何,如何用新创建的业务键替换现有的业务键?

在我看来,一个特定的工作流程如下所示,但我还没有在实践中完成它:

  1. 删除 DimProduct 和 FactSales 表中的现有 PK_Product 和 FK_Product。
  2. 将新的 IDENTITY 列设置为 dimProduct。
  3. 将新列添加到 FactSales,其值来自基于先前业务键联接的新创建的 IDENTITY 列。
  4. 删除两个表中的旧 ProductKey 列。
  5. 为新创建的代理 IDENTITY 键添加约束。
  6. 为未来的值分配表之间的参考。

但请告诉我你在工作中是如何做到这一点的并纠正我,因为我认为我错了。

0 投票
0 回答
208 浏览

data-modeling - 数据仓库的维度模型(递归/分层)

我很难将维度表(递归/分层)连接到事实表,因为有需要处理的问题/问题:

  • 维度表属于父子关系结构
  • 从原始表开始,它一直在增长
ID 项目名 parent_id
1 分类 无效的
2 类别 无效的
3 团体 无效的
4 现代的 1
5 修改的 1
6 工具 2
7 2
8 金属 3
9 塑料 3
10 带领 8
11 合金 8

对这种表进行非规范化是不适合的,因为新的实体类型进来了,它会影响维度结构。

这种类型的最佳方法是什么?请提供一个示例以及连接事实和维度后的查询语句是什么。

0 投票
1 回答
50 浏览

database - 更新事实表

我有一个平面文件资源,这些资源被提取到事实和维度中。一些维度也来自数据库资源。转换过程是根据需要设置的(如果有新的/更新的平面文件)。问题是,某些数据引用不存在或基于数据库资源的维度不匹配,因此事实的外键 id 值设置为默认值(如果没有匹配数据,则为零)。

如果所述维度(数据库资源)已更新,我如何对事实执行更新?这种场景的最佳实践/例程是什么?

这是示例插图

事实/维度

如果要更新产品列表(003 西瓜),我应该用新值替换 dim_product row#1 吗?

0 投票
0 回答
17 浏览

sql - 我们可以用另一个表中的数据实现一个表,该表具有相同的 ID 但在 SQL 中大小不同?

我有表 1 (SERVICE) (ID_Service, ID_Vehicle) 和表 2 (FACT) (ID_Veh, ID_Parts, Quantity) 我想将 ID_Service 复制到表 FACT 中 ID_Vehicle=ID_Veh 并在不匹配时影响其余列 null

但是这里的问题是它插入 ID_SERvice ROWS 而不将其与 ID_Vehicle 匹配并影响 NULL 到其他行!是不是因为它们有两种不同的尺寸!

我试过内部连接,但没有用

这就是我得到的 在此处输入图像描述

0 投票
1 回答
28 浏览

ssis - DWH 重新加载数据

在每月增量加载的 DWH 中,我的任务是创建能够在 DWH 中重新加载随机月份的进程。

假设在现有 DWH 中重新加载 2021 年 2 月的数据。

如果我在 2021 年 8 月 15 日重新加载 2021 年 2 月的数据,我的 SCD2 维度客户最终将如下所示:

昏暗的顾客

在下一次加载之前,我可能有错误的维度属性。DateFrom/DateTo 中的日期会被弄乱。

问题:

  1. 这是重新加载单月的好方法吗?
  2. 如果是,任何建议如何处理它?
  3. 在这种情况下,我更喜欢完全重新加载 DWH。这是个好主意吗?

使用 SSIS ETL 工具在 sql server 上工作。

谢谢

0 投票
0 回答
15 浏览

azure - 更改 Azure 数据仓库中表的索引

我必须在不丢失表数据的情况下更改 Azure 数据仓库的几个表中的索引。我不能简单地删除并重新创建另一个索引,因为这样做时我必须遵循 CICD。我使用 azure DevOps for CICD 和 Visual Studio 来推动更改。我听说这可以通过使用部署前和部署后脚本来实现。但我对此一无所知。有人可以指导我吗?

0 投票
1 回答
117 浏览

azure - Azure Synapse 专用 SQL 池中的“sp_refreshview”是否有任何等效项

Azure Synapse 专用 SQL 池中的“ sp_refreshview ”是否有任何等效项?

当我尝试时,它显示以下错误。 在此处输入图像描述

由于视图不会自动更新,Azure Synapse Analytics 的专用 SQL 池中是否有任何其他命令或系统存储过程可用,而不是“ALTER VIEW”方法?

0 投票
0 回答
37 浏览

data-warehouse - 数据仓库 - 我可以在没有物理外键约束的情况下做吗

我正在处理的数据仓库在事实表中有快照数据(按周),并且大约有 5 个 SCD 类型 2 维表。

一旦使用与暗表连接的查询将快照插入事实表中,就不会再次触及事实表中的数据。如果我重新运行加载,进程会删除该周的所有现有数据并重新插入。

代理键存在于所有事实和维度上,但不会通过使用主键或外键约束在物理上强制执行。

我没有强制执行约束,认为每次进行故障排除时停用会很痛苦,这是我之前遇到的情况,我不喜欢进入。

我的方法真的是不好的做法吗?

0 投票
1 回答
17 浏览

etl - 作为初始负载测试或增量负载测试的一部分,我们是否验证审计字段?

我们正在对数据仓库中的目标表执行初始负载测试和增量负载测试。那么我们是在初始负载测试中验证审计字段值还是在增量负载测试中验证审计字段值?作为测试的一部分,我们验证审计字段值