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

Инженеры по обработке данных часто представлены как роль «ориентированные на технологии / технологические эксперты» между всеми ролями данных. Однако, если это правда, на какой технологии следует сосредоточить внимание специалиста по данным? и как эта роль выживает в процессе эволюции технологий?

Что ж, я бы сказал, что это не так просто, что эта роль не просто «ориентирована на технологии», что есть некоторые ключевые аспекты этой роли, которые остались неизменными с течением времени, хотя технологий не осталось.

Разные технологии

Data Engineering может включать в себя различные технологии в зависимости от компании / команды, с которой вы работаете, и спектр может быть довольно большим: Spark, Apache Beam, Step functions, Airflow, Google Dataprep. », Kafka , Hive , Python , Java , Scala , Oozie , HBase , Cassandra , Spring

В демонстрационных целях я возьму два объявления о вакансиях с должностью Data Engineer в Amazon из Linkedin Jobs и выделю необходимые технологии желтым цветом.

  • Инженер по данным в Amazon UK

  • Инженер по данным в Spotify

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

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

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

Например, и airflow, и spark могут быть написаны на одном языке, python, даже если у них разные цели: Spark используется для обработки данных, а airflow используется для управления рабочим процессом.

Другим примером на основе языка может быть SQL-подобный язык, который используется в Hive, Presto, Athena, Postgres, InfluxDB, Impala, BigQuery и SparkSQL

Технологии разделяют не только языки, но и основные концепции, например:

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

Технологии, сроки и жизненный цикл продуктов

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

В области обработки данных, если мы посмотрим на технологии, использованные в 2010–2014 годах для обработки данных, мы увидим в основном платформы / ERP, такие как SAP или Oracle.

В настоящее время для обработки данных чаще используются такие технологии, как Spark, Hive, Kafka и другие технологии больших данных, которые работают на таких платформах, как AWS или Google. Эти технологии позволяют нам обрабатывать данные так же, как раньше, но позволяют нам быть более гибкими, обрабатывать больше данных с меньшими затратами, обрабатывать данные в режиме реального времени, выполнять машинное обучение одним щелчком мыши, A / B-тестирование и т. Д. .

Роли данных или термины, используемые для обработки и анализа данных людьми, также следовали одному и тому же «жизненному циклу»: если раньше мы говорили о разработчике ETL или специалисте по интеграции данных, то теперь мы говорим об инженерах данных.

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

Изюминка

Благодаря большему количеству инструментов обработки данных, с которыми может справиться человек, и постоянно развивающемуся технологическому стеку Data Engineer по-прежнему считается «ориентированным на технологии». Конечно, инженер по обработке данных должен использовать технологии для выполнения своих задач, но он использует технологии не только для развлечения, он использует их для сбора, хранения и обработки данных для определенного варианта использования в индустриальном стиле.

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

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

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