Создание схемы звезды из CSV-файлов с использованием Python - PullRequest
0 голосов
/ 03 июля 2018

У меня есть 6 таблиц измерений, все в форме CSV-файлов. Я должен сформировать звездную схему, используя Python. Я не уверен, как создать таблицу фактов, используя Python. Таблица фактов (теоретически) имеет как минимум один столбец, который является общим с таблицей измерений.

Как я могу создать таблицу фактов, помня, что величины из нескольких таблиц измерений должны корректно соответствовать в таблице фактов?

Мне не разрешено раскрывать код или точные данные, но я добавлю небольшой пример. Файл 1 содержит следующие столбцы: student_id, student_name. Файл 2 содержит: идентификатор студента, идентификатор отдела, имя отдела, идентификатор sem. Наконец, Файл 3 содержит идентификатор студента, субъектный код, субъектный балл. 3 таблицы измерений представлены в виде CSV-файлов. Теперь мне нужно, чтобы таблица фактов содержала: student_id, student_name, Department_id, subject_code. Как я могу сформировать таблицу фактов в этой форме? Спасибо за вашу помощь.

Ответы [ 2 ]

0 голосов
/ 03 июля 2018

Чтение некоторых блогов похоже на то, что это не хороший способ обработки таких случаев в python в памяти, но все же, если приведенный ниже пост имеет смысл, вы можете его использовать

Факт Загрузка

Первый шаг в загрузке DW - соответствие размеров. С некоторой сообразительностью вышеуказанная обработка может выполняться параллельно, потребляя много ресурсов процессора. Чтобы сделать это параллельно, каждый алгоритм соответствия является частью большого конвейера уровня ОС. Исходный файл должен быть переформатирован, чтобы оставить пустые столбцы для ссылки FK каждого измерения. Каждый процесс соответствия считывает исходный файл и записывает один и тот же файл формата с одним заполненным FK измерения. Если все эти алгоритмы соответствия образуют простой канал ОС, они все работают параллельно. Это выглядит примерно так.

Источник src2cvs | соответствовать1 | конформ2 | конформ3 | нагрузка В конце вы используете массовый загрузчик СУБД (или пишете свой собственный в Python, это просто), чтобы выбрать фактические значения фактов и измерения FK из исходных записей, которые полностью заполнены всеми измерениями FK, и загрузить их в факт таблица.

0 голосов
/ 03 июля 2018

Хотели бы вы добавить какой-нибудь код, на котором вы сейчас застряли? Пожалуйста, добавьте Минимальный, Полный и Проверяемый пример , включая содержимое файла и ожидаемый результат

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...