powered by simpleCommunicator - 2.0.44     © 2025 Programmizd 02
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / ETL и DWH- как правильно организовать структуру?
11 сообщений из 11, страница 1 из 1
ETL и DWH- как правильно организовать структуру?
    #40066177
buss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!
Прошу не судить строго, сейчас только разбираюсь в теме:)
Застропорился на том, - как правильно организовать структуру данных на этапе трансформации.
На данный момент у меня 2 схемы в БД - stage и сам dwh. Проблема в следующем:
1. На входе есть большая плоская таблица с регистрацией автомобилей, с полями - "почтовый индекс", "номерной знак", "место регистрации";
2. В данной таблице присутствуют пропуски по этим 3-м полям и я решил сделать составной ключ, который проверяет, есть ли поле "почтовый индекс", если нет - "номерной знак" и далее "место регистрации" и на его основнии я заполняю регион, где зарегистрирован автомобиль;
3. Вопрос в том, где хранить эти 3 таблицы с фиксированными данными, на основании которых производится "склейка". На stage этапе, не по книжке, так как данные там надо удалять:) А в dwh в dimensions они мне по сути не нужны, и тоже вроде как не правильно...
4.Также вопрос в том, что было бы неплохо также туда вносить отсуствующие значения из сырых данных, чтобы их потом дополнять.
Заранее спасибо за помощь!
...
Рейтинг: 0 / 0
ETL и DWH- как правильно организовать структуру?
    #40066281
buss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вобщем решил создать еще одну схему service_dir, где буду хранить справочники с фиксированными данными, таккже перекину туда функции и ХП для очистки данных.
...
Рейтинг: 0 / 0
ETL и DWH- как правильно организовать структуру?
    #40066341
Фотография StarikNavy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buss,

сумбурно у вас. но вроде справочники в ДВХ хранят, и ЕТЛ (склейку) тоже в момент переброски из стейджа в ДВХ надо делать.

>>еще одну схему
причем здесь схема? (это бантик просто), на какой уровень положили?
...
Рейтинг: 0 / 0
ETL и DWH- как правильно организовать структуру?
    #40066367
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buss,

прочитайте про НСИ, по идее внешние справочники должны храниться там,
затем они (как и любые другие данные) поступают в STAGE, затем в DDS-слой,

а при потоке STAGE->DDS для вашей плоской таблицы вы обогащаете эти данные уже вашими ключами из справочников, которые уже лежат в DDS
...
Рейтинг: 0 / 0
ETL и DWH- как правильно организовать структуру?
    #40066388
buss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
StarikNavy,
Спасибо!
Постараюсь более складно объяснить, я вложил фото схемы dwh, как я сделал изначально.
Я создала в dwh следующие таблицы:
1. dim_koatuu - содержит в себе данные по полную информацию по териториальному делению (область, район, населенный пункт и т.п.), она в дальнейшем будет выступать как dimension, для опредения региона;
2. dim_plates_region - содержит привязки, "тип номерного знака - регион - ссылка на код КОАТУУ", она нужна только для заполнения составного ключа;
3. dim_tsc_dep - содержит привязки "сервисный центр МВС - адрес - ссылка на код КОАТУУ", в принципе она тоже нужна только для заполнения составного ключа.
4. Залил в них дефолтные данные;
5. В фактовой таблице, я создал поле "koatuu_composite_key", которое заполняется при заливке данных из stage таблицы, в порядке наличия данных в полях dim_koatuu, dim_plates_region, dim_tsc_dep.
Все как-бы работает, но чувствую, что не по феншую:)
...
Рейтинг: 0 / 0
ETL и DWH- как правильно организовать структуру?
    #40066393
buss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Критик,
Спасибо, НСИ вроде как раз то, что я искал!
...
Рейтинг: 0 / 0
ETL и DWH- как правильно организовать структуру?
    #40066466
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buss,

"Привязки" не нужно именовать dim_что_то_там,
В dim-таблицах ключи должны быть числовые,
обычно поля не именуют key, достаточно в имени иметь id,
"Соединенное Королевство Великобритании и Северной Ирландии" влезет в ваше country?
...
Рейтинг: 0 / 0
ETL и DWH- как правильно организовать структуру?
    #40066469
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и таблицы, где есть пк, а остальные поля nullable - вызывают вопросы.
Собственно, как вы их будете заполнять, если даже сджойнить не сможете?
...
Рейтинг: 0 / 0
ETL и DWH- как правильно организовать структуру?
    #40066488
buss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Критик,
Ещё раз спасибо за помощь и критику.
Я писал, что это был первый вариант, как я сделал. Я все сразу запихал в dimensions, сейчас переделаю.
По пункатам:
1. В Country хранится абривиатура ua, us и т.п.
2. Поля null я сделал, чтобы из входной таблицы добавлять новые отсуствующие данные и потом их обрабатывать;
3. Сджойнить соответственно потом можно будет, после того как заполню отсуствующие данные.
Почитал про НСИ и хотел задать вопрос, так все-таки эти таблицы лучше хранить в отдельной схеме или вообще в отдельной бд и как их наполнять, если мои ответы 2 и 3 неверные?
Спасибо!
...
Рейтинг: 0 / 0
ETL и DWH- как правильно организовать структуру?
    #40067363
Гулин Федор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buss,
до кучи
если будете SSAS юзать
то лучше тогда View на таблицу фактов сделать - потом менять проще

насчет FK дело вкуса - но в DWH (OLAP) чаще их убирают ради производительности
при загрузке в большие таблицы - но для вашего примера без разницы

да и вообще если SSASб ms-sql то можно взять станд. пример AdventureWorks с примером куба
Если БД другая (ну и соответвенно BI тул другой) - не скажу.
можно скажем Кимбала почитать - но там довольго много всего.


ps НСИ - я бы в одтельной схеме хранил ( nsi. ) если в скл-сервере
хотя без разницы можно и префиксы в таблицах юзать ( nsI_country , nsi_ )

Главное зачем это вам - все таки лучше посмотерть на какой-то пример сделанный по каким-то шаблонам
для MS-SQL я написал - для других наверно стоит поискать
...
Рейтинг: 0 / 0
ETL и DWH- как правильно организовать структуру?
    #40067394
buss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гулин Федор,
Спасибо!
Вчера друг DWHшник, просветил как можно реализовать. Выкинуть пару столбцов и оставить все в dwh "снежинка", для начала, чтобы не путиться и запустить. А потом когда Кимпбала дочитаю уже разгрести. Сейчас занимаюсь:)
Я делаю на Python и Postgres, чтобы потом перенести на Airflow.
Это мне нужно и для учебы и для текущей работы, поэтому и парюсь именно с этими данными...
Из примеров в интернете, мне очень понравился: https://github.com/gtoonstra/etl-with-airflow . Но он там на "чистых" данных работает, а у меня тут 50% мусора.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / ETL и DWH- как правильно организовать структуру?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]