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

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

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

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

Хорошо, давайте прямо сейчас погрузимся в это.

Оглавление

  1. Итак, что такое инженер по данным?
  2. Разница между специалистом по данным и инженером по данным
  3. Различные роли в инженерии данных
  4. Основные навыки инженерии данных и ресурсы для их изучения
  5. Сертификаты Data Engineering

Итак, что такое инженер по данным?

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

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

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

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

Разница между специалистом по данным и инженером по данным

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

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

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

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

Различные роли в инженерии данных

  • Архитектор данных. Архитектор данных закладывает основу для систем управления данными, позволяющую получать, интегрировать и поддерживать все источники данных. Эта роль требует знания таких инструментов, как SQL, XML, Hive, Pig, Spark и т. Д.
  • Администратор базы данных: Как следует из названия, человек, работающий в этой роли, требует обширных знаний о базах данных. Обязанности включают обеспечение доступности баз данных для всех необходимых пользователей, их правильного обслуживания и бесперебойной работы при добавлении новых функций.
  • Инженер по данным: хозяин лота. Инженер данных, как мы уже видели, должен обладать знаниями об инструментах баз данных, таких языках, как Python и Java, распределенных системах, таких как Hadoop, среди прочего. Это объединение задач в одну роль.

Основные навыки инженерии данных и ресурсы для их изучения

  • Введение в инженерию данных
  • Базовые требования к языку: Python
  • Хорошее знание операционных систем
  • Глубокие и глубокие знания о базах данных - SQL и NoSQL
  • Хранилище данных - Hadoop, MapReduce, HIVE, PIG, Apache Spark, Kafka
  • Базовое знакомство с машинным обучением

Введение в инженерию данных

Прежде чем углубляться в различные аспекты роли, важно сначала понять, что такое инженерия данных. Какие функции выполняет каждый день инженер по обработке данных? Что ведущие технологические компании ищут в инженере по обработке данных? Ожидается ли, что вы будете знать практически все, что есть на свете, или достаточно, чтобы хорошо подходить для конкретной роли? Моя цель - дать вам ответ на эти (и другие) вопросы в приведенных ниже ресурсах.

Руководство по инженерии данных для новичков (часть 1): очень популярный пост по инженерии данных от специалиста по обработке данных из Airbnb. Автор сначала объясняет, почему инженерия данных является таким важным аспектом любого проекта машинного обучения, а затем глубоко погружается в различные компоненты этого предмета. Я считаю, что это обязательное чтение для всех начинающих инженеров и специалистов по обработке данных.

Руководство по проектированию данных для новичков (часть 2): Продолжая вышеупомянутый пост, во второй части рассматриваются моделирование данных, разделение данных, воздушный поток и лучшие практики для ETL.

Руководство по проектированию данных для новичков (часть 3): В заключительной части этой замечательной серии статей рассматривается концепция инфраструктуры инженерии данных. На протяжении всей серии автор продолжает связывать теорию с практическими концепциями Airbnb, и эта тенденция сохраняется и здесь. Поистине изысканно написанная серия статей.

Набор бесплатных электронных книг по инженерии данных O’Reilly. О’Рейли известен своими превосходными книгами, и эта коллекция не является исключением. Только вот эти книги бесплатные! Прокрутите вниз до раздела Архитектура больших данных и посмотрите там книги. Некоторые из них требуют некоторых знаний об инфраструктуре больших данных, но эти книги помогут вам познакомиться со тонкостями задач инженерии данных.

Базовые требования к языку: Python

Хотя существуют и другие языки программирования, ориентированные на инженерию данных (например, Java и Scala), в этой статье мы сосредоточимся на Python. Мы наблюдаем явный сдвиг в отрасли в сторону Python и наблюдаем быстрый рост его внедрения. Это стало неотъемлемой частью навыков специалиста по обработке данных (и специалиста по данным).

В Интернете есть масса ресурсов для изучения Python. Я упомянул некоторые из них ниже.

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

Введение в науку о данных с использованием Python:. Это самый популярный курс Analytics Vidhya, который охватывает основы Python. Мы дополнительно освещаем основные концепции статистики и методы прогнозного моделирования, чтобы укрепить ваше понимание Python и фундаментальных наук о данных.

Курс Codeacademy's Learn Python: Этот курс не предполагает никаких предварительных знаний в области программирования. Он начинается с абсолютных основ Python и является хорошей отправной точкой.

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

Think Python by Allen Downey: Исчерпывающий обзор языка Python. Идеально подходит для новичков и даже не программистов.

Учебное пособие для Python 3, не являющееся программистом. Как следует из названия, это идеальная отправная точка для людей, не имеющих опыта работы в сфере ИТ или технических наук. В каждой главе есть множество примеров, чтобы проверить свои знания.

Операционные системы

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

Управление и безопасность Linux Server: это предложение Coursera предназначено для людей, которые хотят понять, как Linux работает на предприятии. Курс разделен на 4 недели (и проект в конце) и достаточно хорошо охватывает основы.

CS401: Операционные системы: столь же всеобъемлющий курс, как и любой другой курс по операционным системам. Он состоит из девяти разделов, посвященных различным аспектам операционной системы. Основное внимание уделяется системам на основе UNIX, хотя Windows тоже распространяется.

Платформа Raspberry Pi и программирование на Python для Raspberry Pi: это определенно нишевая тема, но в наши дни спрос на нее зашкаливает. Этот курс призван познакомить вас со средой Raspberry Pi и начать работу с базовым кодом Python на Raspberry Pi.

Глубокие знания базы данных

Чтобы стать инженером по обработке данных, вам необходимо хорошо разбираться в языках и инструментах баз данных. Это еще одно очень базовое требование. Вам необходимо иметь возможность собирать, хранить и запрашивать информацию из этих баз данных в режиме реального времени. Сегодня доступно множество баз данных, но я перечислил ресурсы для тех, которые в настоящее время широко используются в отрасли. Они делятся на базы данных SQL и NoSQL.

Базы данных SQL

Источник: MacWorld UK

Изучите SQL бесплатно: Еще одна статья codeacademy, здесь вы можете изучить абсолютные основы SQL. Такие темы, как манипуляции, запросы, агрегатные функции и несколько таблиц, рассматриваются с нуля. Если вы новичок в этой области, не так много мест лучше, чем это, чтобы начать работу.

Quick SQL Cheatsheet: Ультра полезный репозиторий GitHub с регулярно обновляемыми SQL-запросами и примерами. Убедитесь, что вы пометили этот репозиторий отметкой / закладкой в ​​качестве ориентира в любое время, когда вам нужно быстро проверить команду.

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

Изучите Microsoft SQL Server: В этом текстовом руководстве рассматриваются концепции SQL Server, начиная с основ и заканчивая более сложными темами. Понятия были объяснены с использованием кодов и подробных снимков экрана.

Учебник PostgreSQL: Невероятно подробное руководство, которое поможет вам начать работу и хорошо познакомиться с PostgreSQL. Учебное пособие разделено на 16 разделов, поэтому вы можете представить, насколько хорошо освещена эта тема.

Oracle Live SQL: Кто может лучше изучить базу данных Oracle SQL, чем сами создатели? Платформа действительно хорошо спроектирована и обеспечивает отличное взаимодействие с конечным пользователем. Вы можете просмотреть сценарии и учебные пособия, чтобы получить удовольствие, а затем начать кодирование на той же платформе. Звучит безподобно!

Базы данных NoSQL

Источник: Eventil

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

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

Learn Cassandra: Если вы ищете отличное текстовое и удобное для новичков введение в Cassandra, это идеальный ресурс. Здесь рассматриваются такие темы, как архитектура Cassandra, установка, ключевые операции и т. Д. В учебнике также есть отдельные главы, в которых объясняются типы данных и коллекции, доступные в CQL, и способы использования пользовательских типов данных.

Redis Enterprise: Ресурсов, чтобы узнать о базах данных Redis, не так много, но этого достаточно. Есть несколько курсов и красиво оформленные видеоролики, которые сделают процесс обучения увлекательным и интерактивным. И это бесплатно!

Google Bigtable. Поскольку Google предлагает удивительно мало ресурсов, чтобы узнать, как работает Bigtable. Я связал курс Coursera, который включает множество тем Google Cloud, но вы можете прокрутить вниз и выбрать Bigtable (или BigQuery). Однако я бы порекомендовал пройти полный курс, поскольку он дает ценную информацию о том, как работают все облачные предложения Google.

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

Хранилище данных / Инструменты для больших данных

Распределенные файловые системы, такие как Hadoop (HDFS), сегодня можно найти в любом описании должности инженера по обработке данных. Это обычное ролевое требование, с которым вы должны быть хорошо знакомы. Кроме того, вам необходимо получить представление о платформах и фреймворках, таких как Apache Spark, Hive, PIG, Kafka и т. Д. Я перечислил ресурсы по всем этим темам в этом разделе.

Hadoop и MapReduce

Основы Hadoop : По сути, это путь обучения Hadoop. Он включает 5 курсов, которые дадут вам четкое представление о том, что такое Hadoop, об архитектуре и компонентах, которые его определяют, о том, как его использовать, о приложениях и многом другом.

Hadoop Starter Kit: Это действительно хороший и исчерпывающий бесплатный курс для всех, кто хочет начать работу с Hadoop. Он включает в себя такие темы, как HDFS, MapReduce, Pig и HIVE с бесплатным доступом к кластерам для практики того, что вы узнали.

Учебники Hortonworks: Как создатели Hadoop, компания Hortonworks имеет уважаемый набор курсов для изучения различных вещей, связанных с Hadoop. На этой странице есть исчерпывающий список руководств, от новичков до продвинутых. Убедитесь, что вы это проверили.

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

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

Предпочитаете книги? Не беспокойтесь, я вас прикрыл! Ниже приведены несколько бесплатных электронных книг, посвященных Hadoop и его компонентам.

Объяснение Hadoop: Базовое введение в сложный мир Hadoop. Он дает общий обзор того, как работает Hadoop, его преимущества, приложения в реальных сценариях и многое другое.

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

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

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

Apache Spark

Всеобъемлющее руководство по Apache Spark, RDD и Dataframes (с использованием PySpark): Это последняя статья, которая познакомит вас с Apache Spark. В нем рассказывается об истории Apache Spark, о том, как установить его с помощью Python, RDD / Dataframes / Datasets, а затем округляется до решения проблемы машинного обучения. Руководство, которое необходимо прочитать.

Пошаговое руководство для начинающих по изучению SparkR: Если вы являетесь пользователем R, это руководство для вас! Конечно, вы можете использовать Spark с R, и эта статья будет вашим руководством.

Основы Spark: Этот курс охватывает основы Spark, его компоненты, способы работы с ними, интерактивные примеры использования Spark, введение в различные библиотеки Spark и, наконец, понимание кластера Spark. Что еще можно пожелать от одного курса?

Введение в Apache Spark и AWS: Это практический курс, ориентированный на практику. Вы будете работать с данными Gutenberg Project, крупнейшей в мире открытой коллекцией электронных книг. Вам потребуются знания Python и командной строки Unix, чтобы извлечь максимальную пользу из этого курса.

Курсы по Hadoop, Spark, HIVE и Spark SQL

Основы больших данных: HDFS, MapReduce и Spark RDD: В этом курсе используются реальные наборы данных, чтобы научить вас основным технологиям больших данных - HDFS, MapReduce и Spark. Это типичный курс Coursera - подробный, наполненный примерами и полезными наборами данных, его проводят отличные инструкторы.

Анализ больших данных: Hive, Spark SQL, DataFrames и GraphFrames: MapReduce и Spark частично решают проблему работы с большими данными. Изучите инструменты высокого уровня с помощью этого интуитивно понятного курса, в котором вы, помимо прочего, улучшите свои знания Hive и Spark SQL.

Приложения для больших данных: потоковая передача в реальном времени: Одна из проблем при работе с огромными объемами данных заключается не только в вычислительной мощности для их обработки, но и в том, чтобы сделать это как можно быстрее. Такие приложения, как механизмы рекомендаций, требуют обработки данных в реальном времени, а для хранения и запроса этого объема данных требуется знание таких систем, как Kafka, Cassandra и Redis, которые предоставляет этот курс. Но чтобы пройти этот курс, вам потребуются практические знания Hadoop, Hive, Python, Spark и Spark SQL.

Кафка

Упрощение конвейеров данных с помощью Apache Kafka: Узнайте, что такое Apache Kafka, его архитектура и способы использования. Вам необходимо базовое понимание Hadoop, Spark и Python, чтобы получить от этого курса максимальную пользу.

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

Передача возможностей Kafka в руки специалистов по данным: Не совсем учебный ресурс сам по себе, но очень интересная и подробная статья о том, как инженеры по обработке данных в Stitch Fix создали платформу, адаптированную к требованиям. своих специалистов по данным.

Базовое знакомство с машинным обучением

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

Основы машинного обучения для новичков: Великолепное введение в мир машинного обучения от Кунала Джайна. Цель статьи - избавиться от жаргона, который вы слышали или читали. Руководство прямо касается сути вопроса, и вы в конечном итоге оцените такой стиль письма.

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

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

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

Сертификаты Data Engineering

Сертифицированный специалист Google

Источник: Fourcast.io

Это один из лучших сертификатов по инженерии данных, доступных сегодня. Чтобы получить этот сертификат, вам необходимо успешно сдать сложный двухчасовой экзамен с несколькими вариантами ответов. Вы можете найти общий план того, чего ожидать, по этой ссылке. Также доступны ссылки для практических занятий с технологиями Google Cloud. Убедитесь, что вы это проверили!

Сертифицированный инженер по данным IBM

Чтобы получить этот сертификат, вам необходимо сдать один экзамен - этот. Экзамен содержит 54 вопроса, на 44 из которых нужно правильно ответить. Я рекомендую изучить то, что IBM ожидает от вас, прежде чем сдавать экзамен. Ссылка на экзамен также содержит дополнительные ссылки на учебные материалы, к которым вы можете обратиться, чтобы подготовиться.

Специалист по обработке данных CCP от Cloudera

Это еще одна всемирно признанная сертификация, довольно сложная для новичка. Ваши концепции должны быть актуальными и всесторонними, у вас должен быть некоторый практический опыт работы с инструментами разработки данных, такими как Hadoop, Oozie, AWS Sandbox и т. Д. Но если вы пройдете этот экзамен, вы получите очень перспективный старт в этой сфере работы!

Cloudera упомянула, что было бы полезно, если бы вы прошли их обучение Apache Spark и Hadoop, поскольку экзамен в значительной степени основан на этих двух инструментах.

Конечные заметки

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

Пройдя этот путь, вы будете стремиться к роли инженера по данным! Сообщите мне свои отзывы и предложения об этом наборе ресурсов в разделе комментариев ниже.

Первоначально опубликовано на www.analyticsvidhya.com 8 ноября 2018 г.