Как стать автором
Обновить
0

Реально ли big data настолько круты?

Время на прочтение 5 мин
Количество просмотров 4.7K


Как собрать в прямом эфире 17 000 зрителей? Значит, рецепт такой. Берем 15 актуальных IT-направлений, зовем зарубежных спикеров, дарим подарки за активность в чате, и вуа-ля — крупнейший в Украине и восточной Европе онлайн-ивент готов. Именно так прошла ежегодная мультитул конференция NIXMultiConf.

Под слоганом «айтишникам — от айтишников» эксперты из Украины, Беларуси, России, Великобритании и Германии поделились опытом и рассказали о новинках индустрии. Полезно было всем — дизайнерам, девелоперам, тестировщикам и менеджерам. И теперь делимся инсайтами с вами.

По мотивам докладов экспертов NIX запускаем серию статей на самые актуальные темы. Начнем с хайповой — Data Engineering. Поклонник Python и Data Engineer в NIX Илья Кальченко выяснил, реально ли big data настолько круты?

Хотите узнать больше — смотрите конференцию на YouTube-канале.

Эпоха big data, или Почему в 2021-м не обойтись без обработки данных


Только ленивый не говорит, что работа с big data — профессия будущего. А я даже больше скажу: это потребность «здесь и сейчас». До 2003 года мы создали столько петабайт данных, сколько сегодня производим каждые два дня. Аналитики Gartner среди технотрендов 2021 года назвали облачные сервисы и кибербезопасность. Тенденция легко объясняется. Огромные массивы big data нужно хранить в безопасности и обрабатывать, получая полезную информацию. На «удаленке» эти потребности компаний стали более ощутимы. E-commerce, Healthcare, Edtech хотят знать все о своих онлайн-потребителях. Пока данные лежат на серверах, толку от них нет.

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

Что такое big data и зачем они нужны


Чистить, структурировать, конвертировать — основные операции data инженерии. Специалист должен знать, как объединить данные разного формата, собранные из нескольких источников. Три года я программирую на Python, из них два года погружен в big data. На личном опыте понял: для ежедневной работы нужно уметь больше.

Data Engineer — это сборная «солянка» четырех профессий:

  • Software Engineer. Пишет код, тестирует и оптимизирует его. По моему мнению, Software Engineer — наипростейший путь в data инженерию. Специалист знает, как устроены компьютер/программы, базово знаком с разработкой качественного ПО и работой с базами данных.
  • Big Data Developer. Понимает принципы обработки данных, использует различные инструменты для их трансформации. Он готовит описание моделей данных в зависимости от задачи или бизнес-процессов клиента.
  • Database Administrator. На его плечах — построение архитектуры хранилищ. Знает, как оптимальнее хранить данные и проводить над ними базовые операции.
  • Cloud Engineer. Объемы данных сегодня настолько большие, что хранить их на серверах слишком дорого или невозможно — они там просто не помещаются. В помощь — облачные решения. Инженер разбирается, какие есть cloud решения, какова их структура, специфика и взаимодействие между собой, как настроить облачные сервисы.

Из каждого направления можно перейти в Data Engineering.

Data Engineer VS Data Scientist VS Data Analyst


Представим условную соцсеть для изучения иностранных языков. Люди находят друзей по переписке и практикуют английский, немецкий, китайский. Миллионы ежедневных пользователей оставляют цифровые «следы»: авторизуются через личную почту, покупают премиум-аккаунты, скачивают приложение, созваниваются по видеосвязи. Каждый клик регистрируется и отправляется на сервер. Бизнес хочет отслеживать эффективность и прибыльность платформы. Как в этом поможет data инженер? Лично — никак. Но с коллегами Data Scientist и Data Analyst найденные им данные превращаются в полезную информацию — статистику, инфографики, прогнозы.

Нельзя сказать, что кто-то из них полезнее, выполняет больше работы или лучше справляется с обязанностями. Объем задач у них и правда может отличаться и зависит от поставленных клиентом задач. Единственное — data инженер будто работает в «тени». Если вы коммуникабельны и умеете общаться с заказчиками, стоит присмотреться к профессии аналитика или Data Scientist. Но решать, конечно, вам.

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

Работа с данными — разбираем пошагово


Есть определенные источники данных. Задача инженера — получить оттуда информацию, «подружить» данные из разных источников, обработать и по запросу упростить и разнообразить их. Отправляем в базу данных запрос, написанный на Structured Query Language. SQL — самый распространенный язык для манипуляций с данными. Поэтому многие инструменты используют уже всем знакомый синтаксис. Например, Apache Hive или Impala.

Чтобы изменить данные, нужны специальные фреймворки. Такие как Apache Spark, Apache Flink и Hadoop MapReduce позволяют выполнять такие виды трансформаций:

  • data cleaning;
  • удаление дубликатов;
  • конвертация типов данных (строку в число или в дату);
  • фильтрация;
  • data joins;
  • data derivation.

Одни фреймворки подходят только для обработки стриминговых данных, другие — исключительно для данных, которые давно хранятся на сервисе. Некоторые могут делать и то, и другое. Допустим, нам нужно удалить ненужные записи и заполнить пропущенные значения. Делается это заготовленными скриптами. Не для всех фреймворков есть возможность писать скрипты на том языке, на котором хочется инженеру. Чаще всего для преобразования данных берут инструменты Python, Java и Scala. На Java созданы Hadoop, HDFS, Apache Cassandra, HBase и Apache Hive; на Scala — Apache Kafka и Apache Spark; на Python — Pandas/Numpy, Dask + обертки для фреймворков, написанных на других языках (PyFlink, PySpark, Python Hadoop API).


Чтобы все структурировать, есть два подхода — ETL и ELT. Если мы работаем с небольшим объемом или с базами готовых данных от разных клиентов, удобнее использовать ЕTL. Если много смешанной информации, подойдет ELT. В этом случае сначала загружаем данные в хранилище, трансформируем на отдельном сервере и по необходимости вытаскиваем.


Готовые данные попадают в data warehouse или data lakes. Доставку настраиваем через SQL-запрос или кастомный скрипт, включенный в API внешнего сервиса. Далее за дело берутся Data Analyst и Data Scientist. На основе данных они формируют полезную информацию. Первый — создает отчеты, графики и находит закономерности в данных, второй — с помощью подходов machine learning делает прогнозы.

Бизнесу Data Engineering полезен в трех аспектах:

  • находим, чистим и приводим данные в порядок
    Информация о профилях пользователей, покупках, количество кликов в приложении на разных девайсах — все это собирает инженер и группирует данные по содержанию. Если компания строит планы на следующий год и хочет узнать предполагаемый рост бизнеса, к инженеру подключается Data Scientist и Analyst. На основе собранной инженером информации они выясняют, в какой нише и почему падают продажи, какие продукты или фичи самые популярные.
  • увеличиваем скорость доставки данных в целевую систему или к целевому пользователю
    Скорость зависит от выбора фреймворка, подхода и сервиса. Например, Hadoop MapReduce более кост-эффективен по сравнению со Spark, но и скорость обработки данных ниже. Если у нас стриминговые данные, их удобнее и быстрее обрабатывать на лету, вместо того, чтобы сохранять на диск, а обработкой заниматься когда-нибудь потом.
  • уменьшаем стоимость хранения данных
    В 80-х годах 1 ГБ пространства на HDD стоил $500 тыс, а сейчас — $0,025. С тех пор объемы данных выросли в сотни раз, и жесткие диски с ними не справляются. Удобнее и безопаснее хранить информацию на «облаке». Терабайты на сервисе обойдутся от нескольких десятков до сотен долларов в месяц. Специалисты могут подобрать клиенту наиболее выгодный сервис и тарифный план.

От промышленной революции — к технологической


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

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

Полный доклад Ильи Кальченко и других спикеров NIX смотри на YouTube-канале.
Теги:
Хабы:
+6
Комментарии 0
Комментарии Комментировать

Публикации

Информация

Сайт
www.nixsolutions.com
Дата регистрации
Дата основания
1994
Численность
1 001–5 000 человек

Истории