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

Creating star schema from csv files using Python

我有 6 个维度 table,都是 csv 文件的形式。我必须使用 Python 形成一个星型模式。我不确定如何使用 Python 创建事实 table。事实 table(理论上)至少有一个与维度 table 相同的列。

如何创建事实 table,请记住来自多个维度 table 的数量应该在事实 table 中正确对应?

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

您要添加您当前遇到的任何代码吗?请添加 Minimal, Complete, and Verifiable example 包括文件内容和预期输出

阅读某些博客似乎不是处理内存中 python 中此类情况的好方法,但如果下面的 post 有意义,您仍然可以使用它

事实加载

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

src2cvs 源码 |符合1 |符合2 |符合3 |加载 最后,您使用 RDBMS 的批量加载器(或在 Python 中编写您自己的加载器,这很容易)从完全填充所有维度 FK 和加载的源记录中选择实际事实值和维度 FK这些变成事实 table.