Как нормализовать данные в PySpark перед обучением ML-моделей

В прошлый раз мы говорили о методах NLP в PySpark. Сегодня рассмотрим методы нормализации и стандартизации данных модуля ML библиотеки PySpark. Читайте в нашей статье: применение Normalizer, StandardScaler, MinMaxScaler и MaxAbsScaler для нормализация и стандартизации данных. Нормализация и стандартизация — методы шкалирования данных Нормализация (normalization) и стандартизация (standardization) являются методами изменения диапазонов значений — шкалирования. Шкалирование особенно полезно в машинном обучении (Machine Learning), поскольку разные атрибуты могут измеряться в разных диапазонах, или значения одного атрибута варьируются слишком сильно. Например, один атрибут имеет диапазон от 0 до 1, а второй — от 1 до 1000. Для задачи регрессии второй атрибут оказывал бы большое влияние на обучение, хотя не факт, что он является более важным, чем первый. Нормализация и стандартизация отличаются своими Далее …

Все грани Apache NiFi для построения ETL-pipeline’ов и обработки потоковых данных с Kafka и Spark

Spark, обработка данных, большие данные, Big Data, NiFi, ETL, Kafka, машинное обучение, Machine Learning, курсы по Apache NiFi, обучение инженеров больших данных, Big Data Engineer обучение

Продолжая разговор про инженерию больших данных, сегодня рассмотрим, как построить ETL-pipeline на открытых технологиях Big Data. Читайте далее про получение, агрегацию, фильтрацию, маршрутизацию и обработку потоковых данных с помощью Apache NiFi, Kafka и Spark, преобразование JSON, а также обогащение и сохранение данных в Hive, HDFS и Amazon S3. Пример потокового конвейера обработки данных на технологиях Big Data Разберем кейс, когда необходимо использовать несколько источников, включая каналы REST, социальные каналы, сообщения, изображения, документы и реляционные данные. Типовой конвейер обработки данных (data pipeline) в этом случае будет выглядеть следующим образом [1]: Apache NiFi принимает потоковые данные, фильтрует их, обрабатывает и отправляет в соответствующие топики Apache Kafka с учетом схем для записи форматов сообщений. Дополнительная обработка событий для последующей аналитики больших данных и Далее …

Как построить ETL-pipeline на Apache Spark или что под капотом StreamSets Transformer

Spark, обработка данных, большие данные, Big Data, NiFi, ETL, Data Lake, Machine Learning, машинное обучение, Delta Lake, Kafka, StreamSets Transformer

Однажды мы уже рассказывали про StreamSets Data Collector, сравнивая его с Apache NiFi. Сегодня рассмотрим, как устроен этот исполнительный движок для запуска конвейеров обработки больших данных, каким образом он связан с Apache Spark и чем полезен инженеру Big Data при организации ETL-процессов на локальных и облачных озерах данных (Data Lake, Delta Lake). Демократизация ETL для Delta Lake: автоматизация pipeline’ов и GUI Получение информации из Data Lake для аналитики больших данных и машинного обучения (Machine Learning) – один из важнейших аспектов современной Big Data инфраструктуры. При этом на практике часто возникает проблема консолидации пакетных и потоковых источников данных. Большие данные часто бывают неструктурированы и несовместимы друг с другом из-за разных форматов и типов. Это затрудняет обновление данных в Data Lake. Кроме Далее …

От HDFS в облака: разбираем Google Cloud Storage Connector for Hadoop

курсы по Hadoop, обучение Hadoop, Hadoop, HDFS, Spark, обработка данных, большие данные, Big Data, облака, PySpark, Google Cloud Storage Connector for Hadoop

Говоря про перспективы развития экосистемы Apache Hadoop с учетом современного тренда на SaaS-подход к работе с большими данными (Big Data), сегодня мы рассмотрим, как работает коннектор облачного хранилища Google для этого фреймворка. Читайте далее, чем HCFS отличается от HDFS и каковы преимущества практического использования Google Cloud Storage Connector for Hadoop. Что такое Google Cloud Storage и зачем ему коннектор к Apache Hadoop Напомним, Google Cloud Storage — это единое хранилище объектов, которое предоставляет доступ к данным через унифицированный API, являясь облачным управляемым решением. Оно поддерживает как высокопроизводительные вычисления, так и архивный вариант использования [1]. Существует несколько способов получить доступ к данным, хранящимся в Google Cloud Storage [2]: через приложения Spark, PySpark или Hadoop с использованием префикса gs: //; в рамках Далее …

Зачем вам Apache Ozone: новая звезда на небосклоне Hadoop

Apache Ozone, Hadoop, HDFS, Spark, обработка данных, большие данные, Big Data, облака, курсы Hadoop

В продолжение темы про новое в экосистеме Apache Hadoop, сегодня мы расскажем о проекте Ozone: как и зачем появилось это масштабируемое распределенное хранилище объектов, чем оно отличается от HDFS, что у него общего с Amazon S3 и как этот фреймворк позволяет совместить преимущества SaaS-подхода с локальными кластерами Big Data.   Что такое Apache Ozone и зачем он нужен: краткая история разработки Первая официальная версия Apache Ozone 0.3.0-alpha была выпущена в ноябре 2018 года [1], хотя этот проект стал известен в ИТ-сообществе еще в декабре 2017 году, в рамках выхода Hadoop 3.0 [2]. В сентябре 2020 года вышла версия 1.0.0 с новой улучшенной схемой файловой системы и оптимизацией связи с Amazon S3 [3]. Появление Apache Ozone (O3) обусловлено следующими факторами [2]: Далее …

Hadoop умер, да здравствует Hadoop!

Hadoop, HDFS, Spark, обработка данных, большие данные, Big Data, облака

В последнее время в мире Big Data все меньше можно услышать новостей про Apache Hadoop. Сегодня рассмотрим, почему мифы о смерти Хадуп – это всего лишь мифы и как будет развиваться эта мощная экосистема хранения и обработки больших данных в будущем. Читайте в нашей статье про слияния и поглощения ведущих вендоров, тренд на облачные сервисы и Google Cloud Storage connector, а также попытки нивелировать ограничения HDFS с помощью Apache Ozone. Apache Hadoop в 2020 году: развитие или забвение При том, что сравнение Apache Hadoop и Spark не совсем корректно, т.к. последний входит в экосистему проектов первого, Спарк выигрывает по множеству показателей [1]: MapReduce работает быстрее за счет операций в памяти, а с жестким диском; микро-пакетный режим позволяет вести потоковую обработку Далее …

Natural Language Processing (NLP) в PySpark: токенизация, стоп-слова, N-граммы

Обработка естественного языка (Natural Language Processing, NLP) является перспективным направлением Data Science и Big Data. Сегодня мы расскажем вам о применении методов NLP в PySpark. В этой статье вы узнаете об обычной токенизации и на основе регулярных выражений, стоп-словах русского и английского языков, а также о N-граммах в PySpark. Токенизация в PySpark Токенизация — это процесс разбиения текста на текстовые единицы (чаще всего слова). В PySpark за это отвечают Tokenizer и RegexTokenizer. Создадим DataFrame, который состоит из простых предложений, а также определим функцию (udf), которая будет считать количество слов в списке. from pyspark.ml.feature import Tokenizer, RegexTokenizer from pyspark.sql.functions import col, udf from pyspark.sql.types import IntegerType sentenceDataFrame = spark.createDataFrame([ (0, «Привет я слышал о NLP PySpark»), (1, «Как же хочется попасть Далее …

Stateful vs Stateless в потоковой обработке Big Data на примере Apache Spark Structured Streaming

курсы по Apache Spark, обучение Spark Streaming, Spark, обработка данных, большие данные, Big Data, SQL, Python, Hadoop, HDFS

Сегодня поговорим про сохранение состояний при потоковой обработке больших данных с помощью Apache Spark и рассмотрим особенности Structured Streaming в новой версии этого популярного Big Data фреймворка. Читайте далее про Stateless и Stateful приложений в реальном времени, управление состояниями, связь DStream с RDD и UI в Spark Structured Streaming. Состояния в потоковой обработке данных или что такое Stateful и Stateless Напомним, потоковая обработка данных выполняется в реальном времени по мере их поступления и предполагает 2 способа выполнения [1]: без сохранения состояния (stateless), когда каждая входящая запись обрабатывается автономно не зависимо от других, например, отображение (map), фильтрация, объединение со статическими данными и прочие подобные операции. с сохранением состояния (stateful), когда обработка входящей записи зависит от результата ранее обработанных записей. Поэтому необходимо поддерживать Далее …

Ускорение в 40 раз и другие фишки SparkR в Apache Spark 3.0

Spark, обработка данных, большие данные, Big Data, SQL, Python, R

Вчера мы рассказывали про нововведения в Apache Spark 3.0 и упомянули про улучшения в SparkR. Сегодня рассмотрим, почему в новой версии фреймворка вызов пользовательских функций стал быстрее в 40 раз и какие еще проблемы работы с R были решены в этом релизе. Что не так со SparkR: десериализация и особенности структур данных Одним из достоинств Apache Spark считается богатый API: помимо Java, Scala и Python, этот Big Data фреймворк также позволяет работать с языком R, который считается весьма популярным в области анализа данных, о чем мы писали здесь. Однако, на практике при работе со SparkR можно было столкнуться со следующими трудностями [1]: неоднозначность типовых структурах данных. В языке R frame – это объект в оперативной памяти (in-memory) в виде списка векторов одинаковой Далее …

Apache Spark 3.0: что нового?

Spark, обработка данных, большие данные, Big Data, SQL, Python, R, PySpark

Чтобы сделать наши курсы по Spark еще более интересными и добавить в них самые актуальные тренды, сегодня мы расскажем о новом релизе этого Big Data фреймворка. Читайте далее, что нового в Apache Spark 3.0 и почему Spark SQL стал еще лучше. 10 лет в Big Data или немного истории В июне 2020 года вышел новая версия Apache Spark – 3.0. Примечательно, что в этом году проект празднует первый серьезный юбилей – 10 лет. Напомним, Apache Spark, как и многие Big Data проекты, начал свой путь из академической среды – исследовательской лаборатории AMPlab Калифорнийского университета Беркли, которая специализировалась на вычислениях с интенсивным использованием данных. Команда ученых AMPlab создала новый движок для решения проблем с обработкой больших объемов данных, одновременно предоставив API Далее …