data engineer

Кому и зачем нужны Data Engineer?

По мере того как данные становились стратегически важной составляющей бизнеса, а их сбор и анализ помогали получать все больше полезных инсайтов, наука о данных обрастала сразу несколькими сложными и похожими специализациями. На первый взгляд, они могут показаться дублирующими профессиями со смежными функциями: Data Scientist или исследователь данных, аналитик, Data Engineer или инженер данных, инженер по машинному обучению, администратор баз данных и др. Все эти специалисты используют в своей работе основной ресурс — данные, и их функции действительно пересекаются, но если приглядеться, то переплетающиеся роли довольно четко разделены, а с развитием Data Science и ее ответвлений они получат еще более ясное разграничение.

Data Scientist vs. Data Engineer

Возьмем, например, исследователя данных и инженера данных. Один другому просто необходим. Первый умеет анализировать данные, выстраивать модели и создавать хранилища данных. Но оказавшись лицом к лицу с поставленной бизнес-задачей, ему понадобятся именно те данные, с помощью которых он смог бы найти решение. К его большому сожалению, готовых к использованию данных в его распоряжении не будет, но они будут скрыты в различных хранилищах, и их еще нужно будет собрать и очистить. Вот здесь-то ему и понадобится помощь дата-инженера. Data Engineer отвечает за создание, обработку и поддержку каналов или пайплайнов данных, которые необходимы Data Scientist для анализа и решения бизнес-задач.

data engineer

Как это работает в реальности?

Представим, что некая компания занимается продажей диванов широкого ассортимента через сайт. Всякий раз, когда посетитель сайта нажимает на тот или иной диван, создается новый элемент данных. Теперь дата-инженеру нужно определить как собрать эти данные, какого типа метаданные будут добавлены для каждого клика-события и как хранить данные в удобном для доступа формате. А Data Scientist должен будет взять данные о том, какие клиенты купили те или иные диваны и использовать их, чтобы предсказать вариант идеального дивана для каждого нового посетителя сайта.

Или предположим, что вы дата-инженер в компании Rebu, молодом конкуренте Uber. Ваши пользователи заказывают такси через приложение. Итак, они  отмечают пункт назначения, одновременно, в приложении у водителя отображается маршрут, затем он забирает пассажиров и высаживает их в пункте назначения. Далее пассажиры оплачивают поездку и имеют возможность поставить оценку водителю. Чтобы эта система работала, вам понадобится:

  1. Мобильное приложение для пользователей
  2. Мобильное приложение для водителей
  3. Сервер, который будет передавать запросы пользователей водителя и управлять другими данными, например, обновлениями информации о платежах

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

  1. Регулярно собирать данные приложения с устройств пользователей
  2. Собрать данные из приложений вместе с данными с сервера, которые относятся к пользователю
  3. Создать точку API, которая отразит историю событий любого пользователя

Для этого вам необходимо создать пайплайн, который сможет “проглотить” логи приложений и логи сервера в реальном времени, проанализировать их и соотнести с конкретным пользователем. Затем вам необходимо будет хранить проанализированные логи в базе данных так, чтобы по их можно было без труда запросить по API.

Исходя из этих примеров, Data Engineer фокусируется на построении инфраструктуры и архитектуры генерации данных, а Data Scientist сосредотачивает свои усилия на взаимодействии с инфраструктурой данных.

К несчастью для обоих, компании часто ограничиваются должностью Data Scientist и не создают отдельную позицию Data Engineer. Такой подход грозит чрезмерной загруженностью первого, когда до 80% времени он тратит на добычу и обработку данных, закапываясь в массивах информации.  

data engineer
DS
Специализация Data Science
Идет набор в группу 12 500₽ в месяц

Что именно делает Data Engineer и какие инструменты он использует?

Итак, инженер по данным сможет:

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

Как видно из обязанностей дата-инженера, его роль в компании особенно важна — он участвует в начальной и финальной стадиях анализа данных, а также поддерживает созданные пайплайны. Работая в паре с Data Scientist, инженер данных в разы повышает эффективность его деятельности. Для этого профессиональному дата-инженеру нужно иметь сильные навыки программирования, чтобы писать качественный, “чистый” код, а также глубокое понимание экосистемы больших данных и распределенных систем. Если коротко, то его навыки это — Hadoop, MapReduce, Hive, Pig, дата-стриминг, NoSQL и SQL. Вместе с тем, ему не обязательно владеть фундаментальными знаниями в математике и навыками построении алгоритмов, в отличие от исследователя данных. Среди его инструментов часто можно увидеть: SAP, Oracle, Cassandra, MySQL, Redis, Riak, PostgreSQL, MongoDB, neo4j, Hive и Sqoop.

Таким образом, ни одна компания, желающая создать свой data-отдел или заняться качественным исследованием данных и извлечением из них полезной информации, не сможет получить результат, наняв одного лишь Data Scientist — необходимо будет найти и привести в компанию специалиста, который бы наладил процесс сбора данных и организовал их предварительную подготовку. К тому же он сможет взять на себя рутинные задачи по обработке данных и, тем самым, высвободить время для качественных моделей, которые так любит строить исследователь данных.

В data engineering приходят люди с разным опытом и образованием: это и computer science, и computer engineering, а также математика, экономика и часто —  бизнес-аналитика. В любом случае, даже если вы считаете, что чтобы стать Data Engineer, вам чего-то недостает, но желание развиваться в этой области перевешивает, идите к своей цели и развивайтесь в этом направлении. Каждый профессионал в какой-то момент начинает со своего уникального набора навыков и знаний, а зачастую целеустремленность и талант играют решающую роль в его становлении.         

Если вы хотите развиваться в области Data Engineering, то обратите внимание на годовой курс для разработчиков и администраторов, позволяющий полностью освоить новое направление Data Engineering, от SkillFactory. Курс рассчитан на 12 месяцев, а чтобы его освоить, нужно обладать знаниями SQL и Python и быть знакомым с Linux. Пройти курс получится из любой точки мира, так как он пройдет в режиме онлайн.  

Специализация Аналитик Данных

Специализация Data Science

Специализация Data Engineer

текст: Любицкая Дарья

Поделиться:
Опубликовано в рубрике Анализ данных, Наука о данных (Data Science)Tagged ,

SkillFactory.Рассылка