使用 Python 从 csv 文件创建星型模式



我有 6 个维度表,全部采用 csv 文件的形式。我必须使用 Python 形成一个星型模式。我不确定如何使用 Python 创建事实表。事实数据表(理论上(至少有一个与维度表通用的列。

如何创建事实数据表,请记住,多维度表中的数量应在事实数据表中正确对应?

我不允许透露代码或确切数据,但我会添加一个小例子。文件 1 包含以下列:student_id、student_name。文件 2 包含:student_id、department_id、department_name、sem_id。 最后,文件 3 包含student_id、subject_code、subject_score。三维表采用 csv 文件的形式。我现在需要事实数据表包含:student_id、student_name、department_id subject_code。我怎样才能以这种形式形成事实数据表?谢谢你的帮助。

阅读某些博客看起来不是在内存中的python中处理此类情况的好方法,但是如果下面的帖子有意义,您可以使用它

事实加载

DW 加载的第一步是尺寸一致性。只要稍微聪明一点,上述处理就可以并行完成,占用大量CPU时间。为了并行执行此操作,每个一致性算法都构成了大型操作系统级管道的一部分。必须重新设置源文件的格式,以便为每个维度的 FK 引用保留空列。每个一致性流程都会读取源文件,并写出填充了一个维度 FK 的相同格式化文件。如果所有这些一致性算法形成一个简单的操作系统管道,则它们都并行运行。它看起来像这样。

SRC2CVS 源 | 符合 1 | 符合 2 | 符合 3 | 加载 最后,您使用RDBMS的批量加载器(或者用Python编写自己的,这很容易(从完全填充了所有维度FK的源记录中挑选实际的事实值和维度FK,并将其加载到事实表中。

您想添加当前卡住的任何代码吗?请添加一个最小、完整和可验证的示例,包括文件内容和预期输出

最新更新