Мегаобучалка Главная | О нас | Обратная связь


Этап 3. Загрузка и обработка данных



2018-07-06 311 Обсуждений (0)
Этап 3. Загрузка и обработка данных 0.00 из 5.00 0 оценок




 

 

Процесс загрузки

Первый этап – загрузка данных в буферную область (скриншоты файла буферной области представлены в предыдущем пункте). В данной этапе мы берем два файла (формата xlsи csv), в которых все данные находятся на одном листе(в одной ячейке в случае csv). Данные из этих файлов после преобразования типов столбцов(для соответствия с типами данных в базе данных) объединяются оператором union. После этого полученные данные распределяются по листам файла буферной области для более удобной работы с ними в дальнейшем. В итоге получаем таблицу со всеми данными, разделенными по листам в соответствии с таблицами базы данных.

 

 

Второй этап – загрузка измерений базы данных. Она происходит последовательно с тем как идут связи таблиц в базе данных. Например, загрузка измерений, связанных с Врачом (Physician) происходит так: сначала загружается последняя в иерархии таблица PhysicianType, затем после успешной ее загрузки загружается таблица PhysicianSpecialty, в которой присутствует внешний ключ Type_ID, связанный с предыдущей таблицей, и в конце сама таблица Physician. В таблицах, которые не связаны напрямую с фактами, используется простая инкрементная загрузка: делается сравнение полученных из excelданных с имеющимися в базе данных по первичному ключу, если записи с таким ключом нет – строка добавляется, если есть – происходит ее обновление. В тех же таблицах которые напрямую связаны с фактами, инкрементная загрузка реализована несколько иначе: старые данные не удаляются, а имеют дату, когда они впервые стали актуальными (DateStart), если же уже существующая строка меняется в источнике, то она добавляется как новая, а старая получает дату окончания актуальности (DateFinish).

 

 

 

Третий этап – загрузка фактов. После загрузки всех измерений происходит загрузка фактов. Для этого опять же берутся данные из источника, после чего с помощью нескольких уточняющих запросов идет их сопоставление с имеющимися данными в измерениях, для того чтобы избежать конфликтов данных. В случае возникновения ошибок, данные ошибок записываются в текстовый файл, для каждого измерения в свой отдельный. При загрузке фактов также реализована инкрементная загрузка без сохранения предыдущих версий.

 

 

Начальная загрузка происходит из представленных файлов, инкрементная – повторной загрузкой тех же источников. После повторной загрузки мы видим, что ошибок загрузки не появилось и все данные были верно отсортированы в поток обновление (UPDATE).

Начальная загрузка

 

 

Все данные переходят в INSERT, так как база данных пуста(Начальная загрузка)

 

 

 

 

Успешная инкрементная загрузка

Как видим, так как эти данные уже присутствуют в базе, все строки перешли в поток UPDATE. Ошибок повторной загрузки нет, данные не конфликтуют

 

 

 



2018-07-06 311 Обсуждений (0)
Этап 3. Загрузка и обработка данных 0.00 из 5.00 0 оценок









Обсуждение в статье: Этап 3. Загрузка и обработка данных

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (311)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.005 сек.)