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 Далее …

Линейная регрессия, регуляризация, кросс-валидация и Grid Search в PySpark

В прошлый раз мы говорили о решении задачи классификации в рамках Machine Learning с помощью PySpark MLlib. Сегодня рассмотрим задачу регрессии. Читайте далее: что такое линейная регрессия, L1 и L2 регуляризация, алгоритм подбора значений гиперпараметров Grid Search, а также применение кросс-валидации в PySpark. Датасет с домами на продажу Обучать модель машинного обучения (Machine Learning) будем на датасете с домами на продажу в округе Кинг (Вашингтон, США). Его можно скачать напрямую с Kaggle или воспользоваться Kaggle API, как мы описывали здесь. Датасет содержит такие атрибуты, как цена, количество комнат, количество ванных комнат, дату постройки, площадь на квадратный фут (1 фут = 0.3 метра) и другие. Код на Python для инициализации Spark-приложения и создания DataFrame выглядит следующим образом: from pyspark.sql import SparkSession Далее …

Как решить задачу классификации в PySpark

PySpark позволяет работать не только с большими данными (Big data), но и создавать модели машинного обучения (Machine Learning). Сегодня мы расскажем вам о модуле ML и покажем, как обучить модель Machine Learning для решения задачи классификации. Читайте у нас: подготовка данных, применение логистической регрессии, а также использование метрик качеств в PySpark. Датасет с домами на продажу В качестве примера мы будем использовать датасет Kaggle, который содержит данные о домах на продажу в Бруклине с 2003 по 2017 года и доступен для скачивания. Он содержит 111 атрибутов (столбцов) и 390883 записей (строк). В атрибуты включены: дата продажи, дата постройки, цена на дом, налоговый класс, соседние регионы, долгота, ширина и др. # Если у вас Google Colab, то раскомментируйте # import findspark Далее …

Что не так с Delta Lake на Apache Spark: 7 основных проблем и их решения

Spark, архитектура, обработка данных, большие данные, Big Data, Hadoop, Data Lake, Hive, SQL, NoSQL, MLOps, DataOps, Delta Lake, обучение Apache Spark, курсы по Spark

При всех своих достоинствах Delta Lake, включая коммерческую реализацию этой Big Data технологии от Databricks, оно обладает рядом особенностей, которые могут расцениваться как недостатки. Сегодня мы рассмотрим, чего не стоит ожидать от этого быстрого облачного хранилище для больших данных на Apache Spark и как можно обойти эти ограничения. Читайте далее, как реализовать потоковое чтение и запись данных при отсутствии Sqoop, что делать для изменения типа столбца и при чем тут Hive. Не все так просто или ключевые особенности Delta Lake Подчеркнем, что облачное Delta Lake располагается поверх корпоративной системы хранения данных, но не заменяет ее, а добавляет возможность работать с ACID-транзакциями в Hadoop HDFS, BLOB-объекты Azure и Amazon S3. Загрузка информации в Delta Lake возможна из любой системы хранения, которая Далее …

Облачное Delta Lake на Apache Spark от Databricks vs классическое озеро данных на Hadoop: 5 главных отличий

Delta Lake Databricks, курсы по Spark, архитектура, обработка данных, большие данные, Big Data, курсы Hadoop, Data Lake

Продолжая разговор про Delta Lake, сегодня мы рассмотрим, чем это быстрое облачное хранилище для больших данных в реализации компании Databricks отличается от классического озера данных (Data Lake) на Apache Hadoop HDFS. Читайте далее, как коммерческое Cloud-решение на Apache Spark облегчает профессиональную деятельность аналитиков, разработчиков и администраторов Big Data. Больше, чем просто облачный Hadoop или Spark: преимущества Delta Lake от Databricks Напомним, наиболее известной коммерческой реализацией open-source технологии Data Lake считается продукт международной компании Databricks [1]. Помимо архитектурных плюсов Apache Spark по сравнению с Hadoop, Databricks привнесла в концепцию облачного масштабируемого и надежного хранилища данных следующие преимущества [2]: Простота администрирования. В кластерах Apache Hadoop системный менеджер ресурсов YARN управляет емкостью и согласованием заданий. При этом балансировка кластерной нагрузки предполагает довольно высокий Далее …

Как ускорить озеро данных или что такое Delta Lake на Apache Spark

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

Озеро данных (Data Lake) на Apache Hadoop HDFS в мире Big Data стало фактически стандартом де-факто для хранения полуструктурированной и неструктурированной информации с целью последующего использования в задачах Data Science. Однако, недостатком этой архитектуры является низкая скорость вычислительных операций в HDFS: классический Hadoop MapReduce работает медленнее, чем аналоги на Apache Spark из-за обращения к жесткому диску, а не оперативной памяти. Поэтому с 2019 года стала активно развиваться концепция Delta Lake как хранилища данных нового уровня, сочетающая в себе преимущества Apache Spark для потоковой обработки с возможностями традиционного пакетного подхода. Читайте далее, что такое Delta Lake, зачем и кому это нужно, а также при чем здесь Apache Spark. Как появилось Delta Lake: уход в облака и проблемы Hadoop-as-a-Service Начнем с определения: Далее …