«День в стиле Ghibli»
Ручка в виде кредитки
Робот-скульптор
Huawei Pura X

Data Engineer: профессия на границе разработки и Data Science

Люди, которых нужно первыми нанимать в отдел аналитики

Data Engineer: профессия на границе разработки и Data Science

Привет! Меня зовут Даша Ульянова, я Product Manager в karpov.courses.

Сегодня расскажу про инженеров данных, или Data Engineer. Это специалисты, которые делают первый шаг в работе с данными, чтобы аналитики и специалисты Data Science могли быстро и удобно использовать полезную для бизнеса информацию и строить прогнозные модели.

Даша Ульянова
Product Manager в karpov.courses

Что будет сегодня в статье:

Что за данные, с которыми надо работать

Компании, в которых работают инженеры данных, собирают информацию из разных источников, например:

  • сайт, на котором клиенты читают последние новости и делают заказы;
  • метрики, которые подключены к сайту и фиксируют поведение пользователей;
  • CRM-система для общения с клиентами.

В каждой из этих систем появляется разная информация, которую потом можно проанализировать и использовать — этим занимаются аналитики данных и Data Scientist.

Но пока что с данными сложно работать, потому что они никак не обработаны. Аналитиками и DS-специалистам нужно идти в метрики и CRM и смотреть, что творится там.

Задача инженера данных — достать информацию оттуда, где она копится, и сделать так, чтобы работать с ней было удобно и быстро.

Вот как это происходит.

Как собираются и обрабатываются данные: ETL

Для сбора данных Data Engineer должен написать программу для сбора сырых данных из разных источников. Нельзя просто переносить данные вручную в одно место: это сложно, долго и просто невозможно, если компания планирует развиваться.

Сырые данные проходят длинный путь до того, как на них посмотрят аналитики.

Data Engineer: профессия на границе разработки и Data Science

Проблема в их разнородности: данные из разных источников, поэтому среди них и отчёты по продажам, и метрики посещения разных страниц, и статистика рождаемости, и вообще всё, что может собрать компания.

Процесс сбора и обработки такой информации называется ETL и состоит из трёх этапов:

  • E — Extract — извлечение.
  • T — Transform — обработка.
  • L — Load – загрузка в хранилище данных.
Инженер данных настраивает процесс извлечения, обработки и загрузки данных.

Это должна быть автоматизированная работа, которая выполняется без участия человека. Инженер только присматривает за ETL, улучшает процесс и чинит поломки.

Куда сохраняются данные: хранилище данных Data Warehouse

Когда данные собраны и обработаны, их нужно положить куда-то в одно место.

Data Engineer: профессия на границе разработки и Data Science

Можно использовать базы данных, которые сохраняют данные клиентов или список товаров на складе. Базы данных подходят для бизнес-работы, но для задач аналитики не годятся, потому что плохо справляются с информацией разных форматов.

Поэтому в DS используют хранилища данных, или Data Warehouse. Они оптимизированы для работы с информацией разного вида: данные делятся по разным типам, сохраняются в отдельные таблицы, между таблицами налаживаются сложные связи — теперь их можно использовать.

Data Engineer: профессия на границе разработки и Data Science
Инженер данных работает с хранилищами данных.

Как используют данные потом: BI-система

Чтобы аналитики и Data Scientist могли использовать всё, что инженер данных собрал, обработал и выгрузил, к хранилищу данных нужно подключить инструменты BI: дашборды, таблицы, графики.

Это выглядит так:

Data Engineer: профессия на границе разработки и Data Science

Что делают Data Scientist и какие данные им нужны для работы

Data Scientist работают с хранилищами данных, но не только. Ещё DS создают модели для прогнозирования, которые отвечают на вопросы: сколько компания заработает в третьем квартале? Стоит ли сейчас выпускать новый продукт в этом регионе?

Обычный процесс ETL охватывает только те данные, которые выбрали заранее, поэтому в хранилище данных попадает только определённая информация. Но мы не знаем, что понадобится DS для создания модели, поэтому нам нужна вся возможная информация.

Data Engineer: профессия на границе разработки и Data Science

Вот что получается: специально для DS-специалистов инженер данных создаёт отдельные схемы обработки данных. Это уже не ETL, а ELT: сначала идёт извлечение всех данных и загрузка (Extract + Load), а уже потом обработка (Transform).

Эти данные не попадают в общее хранилище данных, чтобы не устроить там беспорядок. Вместо этого данные попадают в озеро данных, или Data Lake. Озеро данных позволяет хранить данные в любом виде — как сыром, так и обработанном.

Инженер данных налаживает процесс доставки сырых данных в озеро данных Data Lake.

И только после загрузки в озеро специалисты DS определяют, как именно их обрабатывать, чтобы построить подходящие прогнозные модели.

Data Engineer: профессия на границе разработки и Data Science

Как собирают большие данные

В Data Lake хранятся большие данные, или Big Data. Этот термин часто используется, и не всегда правильно. У Big Data есть чёткое определение. Это правило четырёх V:

  • Volume — объём. Данных действительно очень много.
  • Variety — разнородность. Информация разная, чтобы Data Scientist мог использовать всё что есть.
  • Veracity — достоверность. Данные должны быть правдивыми.
  • Velocity — скорость. Большие данные должны обрабатываться быстро.

Для обработки Big Data в больших компаниях нужно много инженеров данных — представьте, сколько записей каждую секунду собирают Netflix, Youtube, Яндекс или Сбербанк. Поэтому без работы эти ребята не останутся.

Технологии, с которыми работают инженеры данных

Технических инструментов много, но мы рассмотрим самые известные.

Самый популярный язык программирования для автоматизаций — Python. Используют его и в Data Engineering.

На работе с данными остановимся подробнее.

Когда данные собираются по строгим правилам Извлечение-Обработка-Загрузка (ETL), это происходит по расписанию: раз в месяц, неделю, день. Это синхронное взаимодействие: вся информация ждёт свой очереди для отправления в хранилище данных.

Но иногда данные нужно собирать в реальном, потоковом времени — то есть как только они появляются. Сбор данных в потоковом режиме — это асинхронное взаимодействие. Информация не ждёт оговоренного времени, а сохраняется сразу после своего появления.

Для такого быстрого сбора данных используется технология брокера сообщений Kafka.

Data Engineer: профессия на границе разработки и Data Science

Когда данных очень много, они хранятся на нескольких серверах — не только потому, что не умещаются на одном, но и для безопасности. Если один сервер сломается, на остальных сохранится копия.

Каждый сервер называется узлом, а все серверы одной компании — кластером. Для работы с распределёнными по разным узлам данными тоже нужна специальная технология — набор инструментов Hadoop.

Если в Data Science больше математики и статистики, то в Data Engineering больше разработки. При этом инженер данных использует узконаправленные технологии, которые редко нужны обычному backend-разработчику.

Что в итоге делает инженер данных и как это выглядит в реальной жизни

Data Engineer формирует архитектуру работы с данными:

  • настраивает автоматический сбор данных из всех подсистем компании: CRM, сайт, метрики;
  • обрабатывает сырые данные по алгоритмам ETL, ELT или каким-то особым методом для спецзадач;
  • иногда сохраняет всю информацию в базы данных, но чаще в озёра и хранилища;
  • всё это происходит на распределённых облачных серверах.
Data Engineer: профессия на границе разработки и Data Science

На нашей программе есть проект из реальной жизни Data Engineer. В нём нужно будет построить сводный отчёт по продажам за определённый период времени из разных источников. Для этого нужно:

  • очистить данные;
  • прописать условия и метрики;
  • подготовить базы данных и архитектуру их хранения;
  • поработать со словарём данных и обработать запросы;
  • разработать плагины, написать приложение и вычислять отчёт на каждый месяц;
  • построить сводные таблицы, запустить виртуальную машину, настроить процесс в облаке;
  • разработать дашборд с вакансиями аналитиков и банковский кредитный скоринг и оценку.

Что нужно знать для обучения в Data Engineering

Инженер данных — это смесь аналитика и технолога, он умеет разбираться в сложных системах, работает с кодом, базами и другими хранилищами данных.

Если вы решили начать учиться на Data Engineer, то вот что стоит знать для начала:

  • синтаксис Python: понимать структуру данных и знать принципы объектно-ориентированного программирования;
  • базовый синтаксис SQL: уметь составлять подзапросы и работать с оконными функциями;
  • работать с командной строкой, знать основные команды Linux.

Профессия подойдёт:

  • аналитикам данных, которые постоянно взаимодействуют с базами данных, но хотят лучше разобраться в ETL-процессах и выйти на качественно новый уровень в аналитике;
  • BI-разработчикам, которые развивают системы бизнес-аналитики и хотят освоить архитектуру современных хранилищ данных и научиться их проектировать;
  • Backend-разработчикам, которые хотят применить свой опыт для решения задач, связанных с хранением и обработкой больших данных.

Мы уже рассказывали подробно о том, как учатся в школе karpov.courses. Если вам интересно, почитайте статьи о том, как у нас устроено:

«Инженер данных» — наш курс по Data Engineer. Он охватывает ядро работы и ключевые инструменты и навыки, которыми должен владеть любой инженер данных. Ещё посмотрим на ответвления работы и научимся работать со смежными дисциплинами.

Программу курса Start DE можно подробнее посмотреть на странице курса:

4040
32 комментария

Комментарий удалён модератором

По факту это кабанчики которые заменяют отдел, от кубера с хадупом до БД с дагами на питоне в airflow. Платить за весь отдел одному кабанчику естессна не будут

Можно попробовать сразу всё) Но постепенно

Инженииииир

2

Красивое слово, правда?

Но я не хочу отдавать свои данные...

2

Не отдавайте! Будьте тем кто их собирает

Раскрывать всегда
Тестовое задание с собеседования на позицию Аналитика c решением
Тестовое задание с собеседования на позицию Аналитика c решением
66
Войти в IT: руководство для начинающих

Меня зовут Александр, я работаю в ИТ больше 10 лет. Первый пост хотелось бы посвятить теме входа в ИТ, так как в последние годы наблюдается тренд на миграцию специалистов из неайтишных профессий в IT. Я часто замечал, что многие люди интересуются возможностью сменить профессию и начать карьеру в этой сфере.

Оффтоп: если вглядеться в часы, становится очевидным, что порядок фотографий не соответствует хронологии :)
Что такое ИИ-агент: как они работают, с чего начать их создание и какие типичные ошибки
Что такое ИИ-агент: как они работают, с чего начать их создание и какие типичные ошибки

В своей практике я всё чаще сталкиваюсь с запросами на создание ИИ-агентов, и это неудивительно: грамотное внедрение таких решений помогает автоматизировать процессы, сократить издержки и повысить качество обслуживания. Но чтобы добиться результата, важно понимать основные подходы к созданию ИИ-агентов, знать типичные ошибки и ориентироваться в том…

11
Будущее работы: исчезнет ли ваша профессия к 2030 году?

Каждый второй сотрудник уже сталкивается с изменениями на рабочем месте. Но готовы ли вы к тому, что 92 миллиона рабочих мест исчезнут к 2030 году? Автоматизация и искусственный интеллект изменят правила игры, но не всё так страшно: появится 78 миллионов новых вакансий. Как найти своё место в этом будущем? Мы собрали ключевые тренды, которые помогу…

Бизнес vs системный аналитик: в чём разница

Вместе с руководителем центра компетенций по развитию BPM-систем в ПГК Диджитал Владимиром Хрыпуном мы разберёмся, чем бизнес-аналитик отличается от системного, и расскажем, почему это совсем разные роли. Статья будет полезна менеджерам, продуктам, руководителям проекта и всем, кто хочет разобраться в теме.

Бизнес vs системный аналитик: в чём разница
55
Где взять данные для обучения нейросети? 5 бесплатных источников, о которых молчат эксперты!
Где взять данные для обучения нейросети? 5 бесплатных источников, о которых молчат эксперты!
ВТБ Онлайн возглавил рейтинг доступности онлайн-банков
ВТБ Онлайн возглавил рейтинг доступности онлайн-банков

Аналитическое агентство UsabilityLab опубликовало результаты ежегодного рейтинга доступности банковских мобильных приложений для физических лиц. В 2024 году в исследовании приняли участие 15 крупнейших российских банков. Эксперты оценивали, насколько удобно слабовидящим и незрячим пользователям выполнять 10 повседневных задач — от перевода через СБ…

Карьера в нейросетях: какие профессии станут востребованными в ближайшие годы

Сегодня мир стремительно меняется благодаря достижениям в области искусственного интеллекта и нейросетей. Уже сейчас многие отрасли, от медицины до финансов, активно используют ИИ для повышения эффективности, создания новых продуктов и улучшения услуг. Если вы задумываетесь о своей карьере в сфере технологий, нейросети — это направление, которое ст…

Карьера в нейросетях: какие профессии станут востребованными в ближайшие годы
Космический обзор IT-профессий для гуманитариев

Просторы Вселенной профессий бесконечны. Здесь каждая звезда — это сфера деятельности, а вокруг неё вращаются планеты — профессии. Где-то там, среди миллиардов звёзд, есть твоя идеальная профессия… Вот созвездие юристов, вот облако маркетинга, вот туманность бухгалтерии, а вот и IT-солнечная система! Давайте отправимся на поиски!

Бесконечные просторы Вселенной профессий. Ю-эксперт.
реклама
разместить
DevOps: Что это такое, зачем он важен и стоит ли углубляться начинающему разработчику?

Сегодня DevOps стал неотъемлемой частью IT-индустрии. Компании стремятся автоматизировать процессы, ускорять разработку и повышать качество своих продуктов. Но что это значит для начинающих разработчиков? Нужно ли изучать DevOps на старте карьеры, или это путь для более опытных специалистов? Разберемся в статье.

DevOps: Что это такое, зачем он важен и стоит ли углубляться начинающему разработчику?
Переподготовка по информатике и вычислительной технике: обязанности, где востребованы специалисты, зарплата, программа обучения, где пройти курсы и получить диплом
Переподготовка по информатике и вычислительной технике: обязанности, где востребованы специалисты, зарплата, программа обучения, где пройти курсы и получить диплом
Конец профессии? Может ли ИИ заменить аналитиков?
11
11