Similar presentations:
Разбор проекта первого спринта
1.
Разбор проекта первогоспринта
Султанмурад Абдуев
[email protected]
2.
Орг. моменты• Обращаемся к наставнику на «ты»
• По желанию включаем камеры
• Задаем вопросы в любой момент, прерывать скучного лектора
приветствуется
• Задавать много вопросов, даже очень глупых, тоже
приветствуется, хотя глупых вопросов не существует
• Наставник должен включить камеру и запись
• Наставник должен предложить студентам книгу жалоб и
предложений
3.
Замечания от команды ревьюВместо print() можно использовать логгер
https://www.astronomer.io/guides/logging/
4.
Замечания от команды ревьюВместо pandas to_sql можно использовать метод copy
1. https://stackoverflow.com/questions/23103962/how-to-writedataframe-to-postgres-table
5.
Замечания от команды ревьюPandas как правило не используют в проде для
обработки данных. Лучше всю обработку делать в SQL, а
транспортный слой делать как можно проще и тоньше
6.
Замечания от команды ревьюЗаписывать данные локально перед записью в stage
слой не всегда обязательно
7.
Замечания от команды ревью• Замечание: Использование stage (user_log) слоя для
построения витрины
• Решение: Витрина не должна ссылаться на stage слой. Как
правило этот слой удаляют перед записью новых данных.
Витрина должна ссылаться исключительно на таблицу
фактов и справочники
8.
Замечания от команды ревью• Замечание: Не соблюдается недельный разрез витрины
f_customer. Просто каждый день пишутся данные и в
итоге получается не одна запись за неделю, а семь.
• Решение: Даг отрабатывает ежедневно, если просто
дописывать данные, у нас не будет недельного разреза,
каждый раз будут дописываться актуальные данные, но
старые при этом останутся в таблице. Чтобы это исправить
перед вставкой данных надо добавить код, который будет
удалять данные за текущий период
9.
Замечания от Дмитрия ЗолотаренкоИспользовать вместо delete/insert/update – merge
https://www.postgresql.org/docs/current/sql-merge.html
10.
Замечания от Дмитрия Золотаренко• Использовать вместо множественных delete – truncate по
партициям