дата инжиниринг что это

Кто такой инженер данных (дата инженер), что делает, где учиться и как им стать

дата инжиниринг что это. Смотреть фото дата инжиниринг что это. Смотреть картинку дата инжиниринг что это. Картинка про дата инжиниринг что это. Фото дата инжиниринг что это

В России и постсоветских странах профессия data инженер стала востребованной не так давно. Но как только она появилась, предложений с данной вакансией стало много. И так как профессия Data Engineer довольно трудоемкая и требует длительного обучения, заработная плата в сфере соответствующая — высокая.

Об этом, а также о других аспектах, которые касаются работы инженером данных, рассказано в этой статье. Прежде чем начать, уточним, что дата инженер, инженер данных, data инженер, data engineer — названия одной профессии. Теперь никакой путаницы не возникнет!

Что такое Data Engineering

Дата-инжиниринг — это специализация, которая основана на работе с данными. Под работой подразумевается хранение, доставка и обработка данных. Автоматизация процессов, связанных с данными, и их надежная инфраструктура — основные обязанности любого data инженера.

Несмотря на то, что работа с различными данными применяется во многих сферах, наибольшее применение она получила в разработке искусственного интеллекта (ИИ), машинном обучении, нейросетях и Big Data (большой пласт данных).

Кто такой Data инженер и чем занимается

дата инжиниринг что это. Смотреть фото дата инжиниринг что это. Смотреть картинку дата инжиниринг что это. Картинка про дата инжиниринг что это. Фото дата инжиниринг что этоТеперь можно переходить к тому, кто такой дата инженер. В любом проекте есть данные, и неважно что это: перечень клиентов в базе или алгоритмы машинного обучения. Всё это требуется хранить, обрабатывать и перемещать. Этим и занимается данный специалист, разрабатывая различные решения, используя прикладные программы, решения и среды обработки.

Так как сейчас количество данных значительно увеличилось по сравнению с предыдущим десятилетием, это напрямую сказалось на профессии. Помимо создания существенных SQL запросов и перемещения информации с помощью различных инструментов (Informatica ETL, Pentaho ETL, Talend), в список того, что должен уметь инженер данных, входит написание программного кода на Python, Java и знание облачных платформ.

Важно! SQL расшифровывается как язык структурированных запросов. Несмотря на свой большой “возраст”, он до сих пор является ключевым языком по работе с данными и используется во множестве современных хранилищ.

Компания, у которой в штате есть инженер по работе с данными, в целом функционирует быстрее и эффективнее, вне зависимости от сферы деятельности. Но важно учитывать, что инженеры часто работают в паре с сайентистами.

Различия между дата сайентистом

Зачастую профессию Data Engineer путают со смежной работой data scientist-ом. Но это не одно и то же.

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

Если избежать технических аспектов, то главное различие заключается в том, что engineer работает с данными, собирая их, перемещая и обрабатывая, а scientist работает с уже собранными и перемещенными данными, анализируя их, изменяя и разрабатывая новые. То есть инженер работает над инфраструктурой данных, а сайентист именно с самими данными. Почти всегда данные, попавшие к сайентисту, уже обработаны инженером.

Цель обоих специалистов в том, чтобы упростить работу над данными и делать их максимально качественными. А вот второстепенные цели разные. Инженер создает схему (пайплайн) обработки и обслуживания данных, которую разрабатывает сайентист. А сайентист в свою очередь проверяет данные на различные гипотезы, улучшает и модифицирует их.

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

Достоинства и недостатки профессии

Эта редкая профессия подойдет далеко не всем. Люди бывают разные, поэтому и работа мечты у каждого своя. Один из наиболее эффективных способов понять, кто такой дата инженер и подходит ли данная сфера конкретному человеку, это ознакомиться с основными плюсами и минусами.

Список преимуществ:

Основные недостатки:

Не стоит обращать внимания на количество плюсов и минусов. Лучше вчитаться в каждый пункт и для себя выяснить, насколько подходит работа с данными.

Сколько зарабатывает Дата инженер

То, сколько получают дата инженеры, является одним из главных преимуществ профессии. В 2020 году такие специалисты в среднем зарабатывают от 80 до 350 тысяч рублей в России. Как видно, даже минимальная заработная плата довольно высокая, не говоря уже о средней и максимальной зарплате.

Такой широкий разброс объясняется опытом специалиста, различными обязанностями и местом работы. Очевидно, что работая в Google с огромными массивами данных, инженер будет получать намного больше, нежели в небольшой компании.

Заработная плата за границей выше. Если взять в пример США, то data engineer зарабатывает примерно 45 долларов в час. Сравнивая с зарплатой в России, в Америке можно зарабатывать в полтора-два раза больше. Конечно же, это относится к специалистам с опытом и знанием всех нужных инструментов и языков.

Работа и карьера

дата инжиниринг что это. Смотреть фото дата инжиниринг что это. Смотреть картинку дата инжиниринг что это. Картинка про дата инжиниринг что это. Фото дата инжиниринг что этоЧтобы получать высокую заработную плату, нужно устроиться в хорошую компанию (лучше международную), имея большой опыт.

Так как это специальность в сфере IT, то такие обычно поглощают с головой. Это значит, что если человек серьезно относится к профессии, скорее всего, он останется в ней на всю жизнь.

Востребованность инженера данных

Как уже упоминалось ранее, эта специализация очень востребована как в России, так и во всем мире. Прямо сейчас можно найти множество вакансий на сайтах по поиску работы. Причем нужны не только опытные сотрудники, но и новички. Кратко говоря, достаточно знать алгоритмы и структуры данных, а также SQL с Python, и устроиться на минимальную зарплату в 80-120 тысяч рублей вполне реально. К тому же обучаться новым навыкам параллельно работая значительно эффективнее, чем только учиться.

Требования и обязанности

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

Список основных требований и обязанностей:

Последние несколько требований встречаются лишь в вакансиях больших компаний, например, Mail.ru.

Дополнительно рекомендуем посмотреть график самых востребованных навыков:

Где искать работу

Советы по устройству на работу:

Как стать дата инженером: пошагово

дата инжиниринг что это. Смотреть фото дата инжиниринг что это. Смотреть картинку дата инжиниринг что это. Картинка про дата инжиниринг что это. Фото дата инжиниринг что этоМожно стать data engineer-ом тремя способами: отучившись в ВУЗе, самостоятельно или на специализированных курсах. Важно понимать, что это длительный и нелегкий процесс, который требует высокой концентрации и отдачи, и скорее всего, придется совмещать несколько способов обучения.

Инструкция как стать инженером данных:

Так как это IT-профессия, к новичкам здесь относятся очень дружелюбно. Если что-то непонятно или есть трудности в изучении материала, всегда можно обратиться к более опытным специалистам.

Где учиться на инженера данных

Обучение на data инженера — трудоемкий и длительный процесс. Эффективность обучения зависит не только от человека, но и от выбранного способа. Получить нужные знания можно в ВУЗе, на курсах и самому.

К сожалению, в России нет ВУЗов со специализацией инженера данных. Можно изучить лишь часть знаний, которые нужны в профессии. Это языки программирования SQL, Java, Scala и Python. Им обучают на следующих специальностях: программирование, прикладная информатика; программная инженерия, вычислительная техника и программное обеспечение, информационная безопасность, математическое обеспечение и администрирование информационных систем.

Но есть несколько факультетов, в которых работе с данными уделяют особое внимание:

После обучения в ВУЗе, доучиться на курсах или самостоятельно будет значительно проще.

Онлайн образование

Онлайн-школы и академии — самый простой и эффективный способ обучения. В них преподавателями выступают опытные специалисты, которые всегда готовы помочь советом.

Среди множества курсов можно выделить 3:

1. Инженер данных на GeekBrains

дата инжиниринг что это. Смотреть фото дата инжиниринг что это. Смотреть картинку дата инжиниринг что это. Картинка про дата инжиниринг что это. Фото дата инжиниринг что это

Здесь это целый факультет в онлайн-университете от Mail.ru. Программа обучения одна из самых содержательных и объемных в русскоязычном сегменте. В неделю проходит 2-3 лекции. Состоит из 140 часов обучения и 280 часов практики (программа может меняться, уточняйте по ссылке ниже).

Ссылка на обучение и подробная информация о курсе: https://gb.ru/geek_university/data-engineer

2. Программа обучения от Нетологии

дата инжиниринг что это. Смотреть фото дата инжиниринг что это. Смотреть картинку дата инжиниринг что это. Картинка про дата инжиниринг что это. Фото дата инжиниринг что это

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

Ссылка на обучение и информация о курсе: https://netology.ru/programs/data-engineer

3. Курс Data Engineer на SkillFactory

дата инжиниринг что это. Смотреть фото дата инжиниринг что это. Смотреть картинку дата инжиниринг что это. Картинка про дата инжиниринг что это. Фото дата инжиниринг что это

Продолжительность — 10 недель. Полное обучение с нуля до дипломного проекта. Есть возможность общения с другими учениками и преподавателями.

Ссылка на обучение и информация о курсе: https://skillfactory.ru/data-engineer

Каждый из вышеперечисленных курсов отличается от другого программой обучения. Рекомендуется ознакомиться с каждым вариантом и выбрать наиболее подходящий.

Udemy

Если обучение в онлайн-школах для Вас слишком длительное и дорогое, то Вы можете приобрести недорогие курсы на платформе Udemy. Здесь есть множество различных курсов по теме в основном на английском языке, но на русском тоже встречаются (пользуйтесь фильтром).

Эффективность такого обучения не сравнима с полноценным курсом в онлайн-школе, но это хорошая альтернатива. На платформе Вы покупаете уже готовые материалы, которые изучаете самостоятельно. Основные преимущества — это цена и возможность прочитать отзывы пользователей о каждом курсе.

Ссылка на платформу Udemy с различными курсами по работе с данными: https://www.udemy.com/courses/search/?src=ukw&q=data+engineer

Самообразование

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

Ресурсы для самообучения:

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

Полезные ссылки

Несколько полезных ресурсов:

Профессия инженера данных, пусть и сложная, но явно стоит того, чтобы ей обучиться. Если вы понимаете, что в силах это сделать, и такая работа порождает интерес, то вам нужно изучать это дело!

Расскажите в комментариях, что думаете о данной профессии. Вызвала ли она интерес? Кажется ли сложной для изучения? И конечно же, удачи в начинаниях!

Видео по теме

Уважаемый посетитель, если Вы не согласны с какой-либо информацией в статье, или нашли ошибку (неточность), то перейдите пожалуйста на страницу контроля качества информации и свяжитесь с нами.

Источник

Дата-инженеры в бизнесе: кто они и чем занимаются?

Данные — один из активов организации. Поэтому вполне вероятно, что перед вашей командой в какой-то момент могут возникнуть задачи, которые можно будет решить, используя эти данные разными способами, начиная с простых исследований и вплоть до применения алгоритмов машинного обучения.

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

В этой статье я хочу рассказать о роли дата-инженера в проектах, связанных с построением моделей машинного обучения, о зоне его ответственности и влиянии на результат. Разбираемся на примере Яндекс.Денег.

дата инжиниринг что это. Смотреть фото дата инжиниринг что это. Смотреть картинку дата инжиниринг что это. Картинка про дата инжиниринг что это. Фото дата инжиниринг что это

Какие роли есть в Data Science-проекте?

К сожалению, не для всех названий ролей есть аналоги в русском языке. Если у вас в компании есть устоявшееся русское название, например, для Data Ingest, то поделитесь им в комментариях.

Например, можно выделить следующие роли:

Что такое Data Science-проект?

Это ситуация, когда мы пытаемся решить какую-то задачу при помощи данных. То есть во-первых, эта задача должна быть сформулирована. Например, один из наших проектов начался с того, что нам нужно было распознавать аварии в приеме платежей (далее распознавание аварий будет упоминаться как исходная задача).

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

дата инжиниринг что это. Смотреть фото дата инжиниринг что это. Смотреть картинку дата инжиниринг что это. Картинка про дата инжиниринг что это. Фото дата инжиниринг что это

Сам график с количеством не требует дата-сайенса, но уже требует дата-инженерии.

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

При этом данных с самого начала может быть много либо их в какой-то момент внезапно становится много, а в реальной жизни — они еще и продолжают непрерывно копиться даже после того, как мы сформировали для анализа какой-то датасет.

Как, наверное, для любой проблемы сначала стоит посмотреть, есть ли на рынке готовые решения. И во многих случаях окажется, что они есть. Например, существуют системы, которые умеют детектить простои тем или иным способом. Однако та же Moira не справлялась полностью с нашими проблемами (из коробки она ориентируется на статические правила — которыми задать наши условия достаточно сложно). Поэтому мы решили писать классификатор самостоятельно.

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

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

Порядок действий в DS-проекте

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

дата инжиниринг что это. Смотреть фото дата инжиниринг что это. Смотреть картинку дата инжиниринг что это. Картинка про дата инжиниринг что это. Фото дата инжиниринг что это
В проектах, которыми мы занимались, один такой круг занимал по времени около 1,5-2 недель.

Дата-сайентист точно участвует на этапе построения модели и при оценке результата. Все остальные этапы чаще ложатся на плечи дата-инженера.

Теперь рассмотрим этот процесс подробнее.

Сбор датасета

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

В нашей компании применяется микросервисная архитектура, и в ней для дата-инженера наиболее важный момент, что нужные данные еще нигде не собраны воедино. Каждый микросервис льет свои события в брокер, в нашем случае Kafka, ETL оттуда их забирает, кладет в DWH, откуда их забирают модели.

Каждый микросервис знает только свой кусочек: один компонент знает про авторизацию, другой — про реквизиты и так далее. Задача дата-инженера — эти данные собрать в одном месте и объединить их друг с другом, чтобы получился необходимый датасет.

В реальной жизни микросервисы появились неспроста: такой атомарной операции, как платеж, не существует. У нас даже есть такое внутреннее понятие, как процесс платежа — последовательность операций для его выполнения. Например, в эту последовательность могут входить следующие операции:

Действия могут быть как явно существующими в этом процессе, так и суррогатными (расчетными).

И в нашем примере мы решили, что нам будет достаточно знать два следующих шага:

На этом этапе собранные данные уже могут представлять ценность не только для главной задачи. В нашем примере уже здесь без применения ML можно брать количество процессов, прошедших каждый из этих шагов, поделить друг на друга и рассчитывать таким образом success rate.

Но если вернуться к главной задаче, то после того, как мы решили выделить эти два события, следует научиться извлекать данные из этих событий и куда-то их складывать.

На этом этапе важно помнить, что большинство моделей классификаций на входе принимает матрицу признаков (набор m чисел и n столбцов). А события, которые мы получаем, например, из Kafka, — это текст, а не числа, и из этого текста матрицу не составишь. Поэтому изначально текстовые записи нужно преобразовать в числовые значения.

Составление корректного датасета состоит из следующих этапов:

Например, в поле «дата» появился платеж 1970 года, и такую запись, скорее всего, не следует учитывать (если мы в принципе хотим использовать время как признак).

Это можно делать разными способами. Например, полностью исключить строки с неправильными значениями. Это хорошо работает, но могут потеряться остальные данные из этих строк, хотя они могут быть вполне полезными. Или, другой вариант — сделать что-то с неправильными значениями, не трогая остальные поля в этой строчке. Например, заменить на среднее или мат. ожидание по этому полю или вовсе обнулить. В каждом случае принять решение должен человек (дата-сайентист или дата-инженер).

Следующий шаг — разметка. Это тот момент, когда мы помечаем аварии как «аварии». Очень часто это самый дорогостоящий этап в сборе датасета.

дата инжиниринг что это. Смотреть фото дата инжиниринг что это. Смотреть картинку дата инжиниринг что это. Картинка про дата инжиниринг что это. Фото дата инжиниринг что это
Предполагается, что изначально мы знаем откуда-нибудь про аварии. Например, операции идут, затем их количество резко падает (как на картинке выше), а потом они восстанавливаются снова, и кто-то нам говорит: «Вот там и была авария». А дальше нам хочется автоматически находить идентичные кейсы.

Интереснее ситуация, когда операции прекращаются не полностью, а только частично (количество операций не падает до нуля). В этом суть детектинга — отслеживать изменение структуры исследуемых данных, а не их полное отсутствие.

Возможные неточности разметки приводят к тому, что классификатор будет ошибаться. Почему? Например, у нас есть две аварии, а размечена только одна из них. Соответственно, вторую аварию классификатор будет воспринимать как нормальное поведение и не рассматривать как аварию.

В нашем случае мы специально собираем вручную историю аварий, которую потом мы используем в разметке.

В итоге после серий экспериментов одним из решений задачи поиска простоев получился следующий алгоритм:

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

Только после этого дата-инженер передает эстафету (вместе с датасетом) дата-сайентисту.

А дальше.

Что же делает дата-сайентист?

Предполагаем, что проблема у нас сформулирована, дальше дата-сайентисту ее нужно решить.

В этой статье я не буду детально затрагивать вопрос выбора модели. Но для тех, кто только начинает работать с ML, отмечу, что есть множество подходов к выбору модели.

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

Предположим, что модель выбрана, отскорена, дата-инженеры оценивают результат и получают обратную связь. Заканчивается ли на этом их работа? Конечно, нет. Приведем примеры.

Сначала немного лирического отступления. Когда я учился в школе, учительница любила спрашивать:
— А если все спрыгнут с крыши, ты тоже спрыгнешь?
Спустя какое-то время я узнал, что для этой фразы есть стандартный ответ:
— Ну… вам же никто не мешает говорить фразу, которую все говорят.

Однако после изобретения машинного обучения ответ может стать более предсказуемым:

— А если все спрыгнут с крыши, ты тоже спрыгнешь?
[изобретено машинное обучение]
— Да!

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

Причина, по которой модель ловит не те зависимости, которые есть в реальной жизни, могут быть связаны с переобучением либо со смещением в анализируемых данных.
И если с переобучением дата-сайентист может побороться самостоятельно, то задача дата-инженера в том, чтобы найти и подготовить данные без смещения.

Но кроме смещения и переобучения могут возникнуть и другие проблемы.

Например, когда после сбора данных мы пытаемся на них обучиться, а потом выясняется, что один из магазинов (где проходят платежи), выглядит вот так:

дата инжиниринг что это. Смотреть фото дата инжиниринг что это. Смотреть картинку дата инжиниринг что это. Картинка про дата инжиниринг что это. Фото дата инжиниринг что это

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

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

В итоге

Основной вывод, который можно сделать из рассказанного выше, что в реальных ML-проектах дата-инженер играет одну из важных ролей, а возможностей по решению бизнес-задач у него зачастую даже больше, чем у дата-сайентиста.

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

Источник

Кто такие дата-инженеры, и как ими становятся?

И снова здравствуйте! Заголовок статьи говорит сам о себе. В преддверии старта курса «Data Engineer» предлагаем разобраться в том, кто же такие дата-инженеры. В статье очень много полезных ссылок. Приятного прочтения.

дата инжиниринг что это. Смотреть фото дата инжиниринг что это. Смотреть картинку дата инжиниринг что это. Картинка про дата инжиниринг что это. Фото дата инжиниринг что это

Простое руководство о том, как поймать волну Data Engineering и не дать ей затянуть вас в пучину.

Складывается впечатление, что в наши дни каждый хочет стать дата-саентистом (Data Scientist). Но как насчет Data Engineering (инжиниринга данных)? По сути, это своего рода гибрид дата-аналитика и дата-саентиста; дата-инженер обычно отвечает за управление рабочими процессами, конвейерами обработки и ETL-процессами. Ввиду важности этих функций, в настоящее время это очередной популярный профессиональный жаргонизм, который активно набирает обороты.

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

Итак, начнем!

Что такое Data Engineering?

Честно говоря, нет лучшего объяснения, чем это:

«Ученый может открыть новую звезду, но не может ее создать. Ему придется просить инженера сделать это за него.»

–Гордон Линдсей Глегг

Таким образом, роль дата-инженера достаточно весома.

Из названия следует, что инженерия данных связана с данными, а именно с их доставкой, хранением и обработкой. Соответственно, основная задача инженеров — обеспечить надежную инфраструктуру для данных. Если мы посмотрим на ИИ-иерархию потребностей, инженерия данных занимает первые 2–3 этапа: сбор, перемещение и хранение, подготовка данных.

дата инжиниринг что это. Смотреть фото дата инжиниринг что это. Смотреть картинку дата инжиниринг что это. Картинка про дата инжиниринг что это. Фото дата инжиниринг что это

Чем занимается инженер данных?

С появлением больших данных сфера ответственности резко изменилась. Если раньше эти эксперты писали большие SQL-запросы и перегоняли данные с помощью таких инструментов, как Informatica ETL, Pentaho ETL, Talend, то теперь требования к дата-инженерам повысились.

Большинство компаний с открытыми вакансиями на должность дата-инженера предъявляют следующие требования:

Список используемых в этом случае инструментов может отличаться, все зависит от объема этих данных, скорости их поступления и неоднородности. Большинство компаний вообще не сталкиваются с большими данными, поэтому в качестве централизованного хранилища, так называемого хранилища данных, можно использовать базу данных SQL (PostgreSQL, MySQL и т. д.) с небольшим набором скриптов, которые направляют данные в хранилище.

IT-гиганты, такие как Google, Amazon, Facebook или Dropbox, предъявляют более высокие требования: знание Python, Java или Scala.

Дата-инженеры Vs. дата-саентисты

дата инжиниринг что это. Смотреть фото дата инжиниринг что это. Смотреть картинку дата инжиниринг что это. Картинка про дата инжиниринг что это. Фото дата инжиниринг что это
Ладно, это было простое и забавное сравнение (ничего личного), но на самом деле все намного сложнее.

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

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

Является ли дата-инженер более востребованным, чем дата-саентист?

— Да, потому что прежде чем вы сможете приготовить морковный пирог, вам нужно сначала собрать, очистить и запастись морковью!

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

Но вот преимущество дата-инженера: без него/нее ценность модели-прототипа, чаще всего состоящей из фрагмента кода ужасного качества в файле Python, полученной от дата-саентиста и каким-то образом дающей результат, стремится к нулю.

Без дата-инженера этот код никогда не станет проектом, и никакая бизнес-проблема не будет эффективно решена. Инженер данных пытается превратить это все в продукт.

Основные сведения, которые должен знать дата-инженер

дата инжиниринг что это. Смотреть фото дата инжиниринг что это. Смотреть картинку дата инжиниринг что это. Картинка про дата инжиниринг что это. Фото дата инжиниринг что это

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

Каковы первые шаги?

Вы должны иметь общее представление о том, что есть что.

Прежде всего, Data Engineering относится к информатике. Конкретне — вы должны понимать эффективные алгоритмы и структуры данных. Во-вторых, поскольку дата-инженеры работают с данными, необходимо понимание принципов работы баз данных и структур, лежащих в их основе.

Например, обычные B-tree SQL базы данных основаны на структуре данных B-Tree, а также, в современных распределенных репозиториях, LSM-Tree и других модификациях хеш-таблиц.

* Эти шаги основаны на замечательной статье Адиля Хаштамова. Итак, если вы знаете русский язык, поддержите этого автора и прочитайте его пост.

1. Алгоритмы и структуры данных

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

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

SQL (Structured Query Language — язык структурированных запросов) является языком общения в области данных. Независимо от того, что кто-то говорит, SQL жил, жив и будет жить еще очень долго.

Если вы долгое время находились в разработке, вы, вероятно, заметили, что слухи о скорой смерти SQL появляются периодически. Язык был разработан в начале 70-х годов и до сих пор пользуется огромной популярностью среди аналитиков, разработчиков и просто энтузиастов.
Без знания SQL в инженерии данных делать нечего, так как вам неизбежно придется создавать запросы для извлечения данных. Все современные хранилища больших данных поддерживают SQL:

Для анализа большого слоя данных, хранящихся в распределенных системах, таких как HDFS, были изобретены механизмы SQL: Apache Hive, Impala и т. д. Видите, он не собирается никуда уходить.

Как выучить SQL? Просто делай это на практике.

Для этого я бы порекомендовал ознакомиться с отличным учебником, который, кстати, бесплатный, от Mode Analytics.

3. Программирование на Python и Java/Scala

Почему стоит изучать язык программирования Python, я уже писал в статье Python vs R. Выбор лучшего инструмента для AI, ML и Data Science. Что касается Java и Scala, большинство инструментов для хранения и обработки огромных объемов данных написаны на этих языках. Например:

Чтобы погрузиться в язык Scala, вы можете прочитать Программирование в Scala от автора языка. Также компания Twitter опубликовала хорошее вводное руководство — Scala School.

Что касается Python, я считаю Fluent Python лучшей книгой среднего уровня.

4. Инструменты для работы с большими данными

Вот список самых популярных инструментов в мире больших данных:

дата инжиниринг что это. Смотреть фото дата инжиниринг что это. Смотреть картинку дата инжиниринг что это. Картинка про дата инжиниринг что это. Фото дата инжиниринг что это

Знание хотя бы одной облачной платформы находится в списке базовых требований, предъявляемым к соискателям на должность дата-инженера. Работодатели отдают предпочтение Amazon Web Services, на втором месте — облачная платформа Google, и замыкает тройку лидеров Microsoft Azure.

Вы должны хорошо ориентироваться в Amazon EC2, AWS Lambda, Amazon S3, DynamoDB.

6. Распределенные системы

Работа с большими данными подразумевает наличие кластеров независимо работающих компьютеров, связь между которыми осуществляется по сети. Чем больше кластер, тем больше вероятность отказа его узлов-членов. Чтобы стать крутым экспертом в области данных, вам необходимо вникнуть в проблемы и существующие решения для распределенных систем. Эта область старая и сложная.

Эндрю Таненбаум считается пионером в этой области. Для тех, кто не боится теории, я рекомендую его книгу «Распределенные системы», для начинающих она может показаться сложной, но это действительно поможет вам отточить свои навыки.

Я считаю «Проектирование приложений с интенсивным использованием данных» под авторством Мартина Клеппманна лучшей вводной книгой. Кстати, у Мартина есть замечательный блог. Его работа поможет систематизировать знания о построении современной инфраструктуры для хранения и обработки больших данных.

Для тех, кто любит смотреть видео, на Youtube есть курс Распределенные компьютерные системы.

7. Конвейеры данных

дата инжиниринг что это. Смотреть фото дата инжиниринг что это. Смотреть картинку дата инжиниринг что это. Картинка про дата инжиниринг что это. Фото дата инжиниринг что это

Конвейеры данных — это то, без чего вы не можете жить в качестве дата-инженера.

Большую часть времени дата-инженер строит так называемую пайплайн дату, то есть создает процесс доставки данных из одного места в другое. Это могут быть пользовательские сценарии, которые идут к API внешнего сервиса или делают SQL-запрос, дополняют данные и помещают их в централизованное хранилище (хранилище данных) или хранилище неструктурированных данных (озера данных).

Подводя итог: основной чеклист дата-инженера

дата инжиниринг что это. Смотреть фото дата инжиниринг что это. Смотреть картинку дата инжиниринг что это. Картинка про дата инжиниринг что это. Фото дата инжиниринг что это

Подытожим — необходимо хорошее понимание следующего:

И, наконец, последнее, но очень важное, что я хочу сказать.

Путь становления Data Engineering не так прост, как может показаться. Он не прощает, фрустрирует, и вы должны быть готовы к этому. Некоторые моменты в этом путешествии могут подтолкнуть вас все бросить. Но это настоящий труд и учебный процесс.

Просто не приукрашивайте его с самого начала. Весь смысл путешествия в том, чтобы узнать как можно больше и быть готовым к новым вызовам.

Вот отличная картинка, с которой я столкнулся, которая хорошо иллюстрирует этот момент:

дата инжиниринг что это. Смотреть фото дата инжиниринг что это. Смотреть картинку дата инжиниринг что это. Картинка про дата инжиниринг что это. Фото дата инжиниринг что это

И да, не забудьте избегать выгорания и отдыхать. Это тоже очень важно. Удачи!

Как вам статья, друзья? Приглашаем на бесплатный вебинар, который состоится уже сегодня в 20.00. В рамках вебинара обсудим, как построить эффективную и масштабируемую систему обработки данных для небольшой компании или стартапа с минимальными затратами. В качестве практики познакомимся с инструментами обработки данных Google Cloud. До встречи!

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *