2. Проект в крупном российском банке.
Здесь мой рабочий день начинается в 10-11. Просто потому, что каких-то утренних созвонов нет вообще, и я могу сам регулировать свой график. У меня было большое задание, которое я делал на всем протяжении работы над проектом. В общих чертах, заказчик предоставил бизнес-требования, в которых указал какие поля и с какой логикой
нужно добавить в имеющуюся витрину данных. Витрина - это таблица в хранилище данных, которая содержит тематическую и узконаправленную информацию. Моя задача заключается сначала в аналитике, т.е нужно понять, как нужное поле создается, в какой таблице взять значение, с какой таблицей сделать сравнение или что с чем поджойнить, чтобы получить нужное. Часто приходится созваниваться с ментором, а потом с банком, чтобы разрешить возникающие вопросы. После аналитики я пишу код на SQL, который выполняет все необходимые манипуляции. На основе полученного запроса, в программе SAS DI создаю ETL - процесс получения данных из источников, их преобразование и загрузку в целевую таблицу (витрину). SAS DI
позволяет достаточно просто строить ETL с помощью графического построения этого процесса. Буквально рисуется блок-схема, в который есть блоки-таблицы и блоки-преобразования. Блоки соединяются стрелками в том порядке, который нужен для логики ETL. Внутри некоторых блоков с помощью интерфейса добавляются нужные поля, джойны, условия и другие преобразования. В отдельных случаях пишется код, который берется из того самого начального скрипта. Запускаю полученный ETL, если есть ошибки - исправляю, если ошибок нет сравниваю полученные данные с ожидаемыми, если сходится - экспортирую файл с ETL и отправляю сотруднику банка. Далее банк запускает ETL на тестовом сервере и проверяет корректность работы, если все плохо - отправляет на доработку мне, если хорошо - ставит на прод. ETL чаще всего запускается ежедневно, поэтому я скрещиваю пальцы и жду следующего дня. Бывает, что из-за того, что тестовые
данные сильно отличаются от продовских, возникает некорректный результат. В этом случае снова аналитика и доработка.
3. Проект в крупном российском букмекере.
По времени работы день аналогичен предыдущему проекту. У компании уже было реализовано хранилище данных, само собой включая ETL. Требовалось провести унификацию, т.е приведение к единообразной форме, отдельной части ETL, отвечающей за загрузку данных в таблицы справочники. Заказчик предоставил уже унифицированные джобы, которые можно брать в качестве эталона.
Утром я обновляю свою ветку git. В excel-файле смотрю с каким из пакетов ETL никто из коллег не работает, после в графическом редакторе ETL SSIS (программа похожая на SAS DI) открываю джоб и сравниваю его с типовым джобом. Чаще всего и проще всего за основу беру какой-то эталонный джоб и изменяю наименования таблиц и полей, часть изменений вношу в SSIS, часть - редактирую открыв файл джоба в xml. Внутри джоба используется процедура, написанная на T-SQL. Эту процедуру я также редактирую в соответствии с требованиями унификации, т.е убираю лишние джойны, фильтры, группировки, добавляю нужные и т.п. После запускаю джоб, проверяю, что он отрабатывает без ошибок, смотрю на адекватность полученных данных. После чего делаю коммит, потом старший разработчик его ревьюит и делает слияние с общей веткой. В течение дня при возникновении вопросов созваниваюсь с ментором. С разработчиками заказчика созваниваемся раз в неделю, где сообщаем о проделанной работе.
Отдельно выделю рабочий день во время bench (простоя).
Post #17
4.9K
- 👍 35
- 🔥 3
- 👏 1