Пара слов о ETL-процессах
Приветствую, любители аналитики!
Скажу кое-что об этих трёх весёлых буквах.
В многочисленных статьях и курсах вы найдете такую расшифровку:
E(xtract) - извлечение из источника
T(ransform) - преобразование данных
L(oad) - загрузка в аналитическое хранилище
То есть, ETL-процесс - это вроде как подготовка данных к анализу - сбор, преобразование и заливка в инструмент аналитики.
На самом деле, обычно всё не так хорошо разложено по полочкам. Красиво спроектировать и реализовать аналитическую архитектуру могут себе позволить только крупные и богатые компании, для которых данные - ощутимый источник дохода. (Например, в талмуде "DAMA DMBOK" описаны процессы работы с данными для идеальной мегакомпании, созревшей для дата-говернанса.)
Что имеется в реальности?
* E - Сбор.
Запросы к БД могут быть простыми вида SELECT * FROM table, и тогда это "чистый" сбор;
но чаще они содержат в себе джойны, условия, подмены и т.д., а это уже обработка, то есть уже не просто E.
Разработчики (вернее, их руководство) не хотят тратить своё драгоценное время на консультации дата-инженеру, им проще самим написать запрос, которым надо вытягивать требуемые данные.
К тому же, действительно зачастую удобнее брать только то что нужно из источника, а не выгружать его весь.
* T - Преобразования.
Этот этап размазан по всему процессу для разных видов данных. Начинается уже в запросе к источнику, потом что-то происходит в Промежуточном хранилище (ПХ), потом собираются витрины уже после загрузки в Аналитическое хранилище (АХ).
* L - Загрузка
Тоже возможны варианты. Что-то кладется из ПХ в АХ, что-то кочует из источников прямиком в АХ (потому что так проще), что-то окольными путями, например, кладётся в S3, а уже в АХ к нему обращаются соответствующие вьюшки. Короче, даже в этом простом шаге не всегда всё стройно.
Но во всём этом "беспорядке" есть и прелесть)
Как бы кому ни хотелось разделять зоны ответственности, но дата-инженер вынужден понимать смысл данных в источнике, а дата-аналитику приходится разбираться в особенностях процессов сбора данных.
А значит они растут и живут насыщенной интересной жизнью!
Приветствую, любители аналитики!
Скажу кое-что об этих трёх весёлых буквах.
В многочисленных статьях и курсах вы найдете такую расшифровку:
E(xtract) - извлечение из источника
T(ransform) - преобразование данных
L(oad) - загрузка в аналитическое хранилище
То есть, ETL-процесс - это вроде как подготовка данных к анализу - сбор, преобразование и заливка в инструмент аналитики.
На самом деле, обычно всё не так хорошо разложено по полочкам. Красиво спроектировать и реализовать аналитическую архитектуру могут себе позволить только крупные и богатые компании, для которых данные - ощутимый источник дохода. (Например, в талмуде "DAMA DMBOK" описаны процессы работы с данными для идеальной мегакомпании, созревшей для дата-говернанса.)
Что имеется в реальности?
* E - Сбор.
Запросы к БД могут быть простыми вида SELECT * FROM table, и тогда это "чистый" сбор;
но чаще они содержат в себе джойны, условия, подмены и т.д., а это уже обработка, то есть уже не просто E.
Разработчики (вернее, их руководство) не хотят тратить своё драгоценное время на консультации дата-инженеру, им проще самим написать запрос, которым надо вытягивать требуемые данные.
К тому же, действительно зачастую удобнее брать только то что нужно из источника, а не выгружать его весь.
* T - Преобразования.
Этот этап размазан по всему процессу для разных видов данных. Начинается уже в запросе к источнику, потом что-то происходит в Промежуточном хранилище (ПХ), потом собираются витрины уже после загрузки в Аналитическое хранилище (АХ).
* L - Загрузка
Тоже возможны варианты. Что-то кладется из ПХ в АХ, что-то кочует из источников прямиком в АХ (потому что так проще), что-то окольными путями, например, кладётся в S3, а уже в АХ к нему обращаются соответствующие вьюшки. Короче, даже в этом простом шаге не всегда всё стройно.
Но во всём этом "беспорядке" есть и прелесть)
Как бы кому ни хотелось разделять зоны ответственности, но дата-инженер вынужден понимать смысл данных в источнике, а дата-аналитику приходится разбираться в особенностях процессов сбора данных.
А значит они растут и живут насыщенной интересной жизнью!