Упорядочивание событий в Apache Kafka: параметры продюсера и потребителя

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

Apache Spark и Hive для обработки партиционированных Parquet-файлов

Недавно мы писали про обновление хранилища метаданных Apache Hive с помощью команды MSCK REPAIR TABLE, операторов AirFlow и Spark-заданий. В продолжение этой темы про работу с партиционированными Parquet-файлами сегодня рассмотрим применение Spark SQL для этого случая, чтобы использовать таблицу Hive вместо временного представления Spark. Временные таблицы Hive/Spark и разделы в Parquet-файлах...

Спотовые инстансы в AWS EMR для Spark-конвейеров: достоинства, недостатки и лучшие практики

Как снизить затраты на AWS EMR, сохранив эффективность Spark-конвейеров обработки данных на спотовых инстансах и других типах узлов облачного кластера. Также рассмотрим, что такое прерываемые виртуальные машины в Яндекс.Облаке и каким образом настроить такую облачную инфраструктуру, чтобы сократить затраты на выполнение Spark-приложений, одновременно повысив их отказоустойчивость. Блеск и нищета спотовых...

Параллелизм второго порядка в конвейерах данных с Apache Spark

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

Импортозамещение в Big Data: Arenadata на Скале

Поскольку тема импортозамещения сейчас стала особенно актуальной, сегодня рассмотрим отечественный программно-аппаратный комплекс для хранения и аналитической обработки данных СКАЛА-Р МБД8. Что это такое, как использовать и при чем здесь продукты Arenadata. Машины больших данных СКАЛА-Р МБД8 и Arenadata Разработчиком программно-аппаратного комплекса «Машина больших данных» СКАЛА-Р МБД8 является российская компания ООО...

Как распилить PHP-монолит на микросервисы с Apache Kafka: кейс Storyblocks

Недавно мы писали про проектирование микросервисной архитектуры на базе Apache Kafka. В продолжение этой актуальной для ИТ-архитекторов, разработчиков и дата-инженеров темы, сегодня рассмотрим опыт американской медиакомпании Storyblocks по переходу от монолитной архитектуры системы поставки контента к распределенным микросервисам с Apache Kafka в Confluent Cloud. Постановка задачи: монолит vs микросервисы По...

Побег от Cassandra в AWS S3 c Apache Spark: кейс сервиса Strava

В этой статье для дата-инженеров и разработчиков распределенных приложений потоковой аналитики больших данных разберем пример перевода сервиса Strava с кластера Cassandra в облачное хранилище AWS S3 и какую роль в этом сыграл вычислительный движок Apache Spark. Постановка задачи: слишком дорогая Cassandra Strava – это глобальный сервис отслеживания активности велосипедистов, бегунов...

Не только MSCK REPAIR TABLE: добавляем разделы в хранилище метаданных Hive с оператором AirFlow и Apache Spark

Что такое MSCK REPAIR TABLE в Apache Hive, зачем нужна эта команда, ее достоинства и недостатки, а также альтернативные варианты для задач пакетной дата-инженерии. Разбираем на примере конвейера обработки данных в ML-приложениях при работе с Data Lake. Команда MSCK REPAIR TABLE в Apache Hive В ML-приложениях особенно важно, как озеро данных (Data...

Еще безопаснее: поддержка Kerberos Active Directory в продуктах Arenadata

24 февраля 2022 года российская компания Аренадата Софтвер, выпускающая корпоративные решения для хранения и аналитики больших данных, добавила поддержку защищенного протокола Kerberos в своих продуктах Arenadata Hadoop, Streaming и Platform Security. Разбираемся, чем это полезно, как связано с Apache Ambari и как настроить. Улучшенная безопасность продуктов Arenadata c Kerberos Active Directory ...

Не просто Apache Solr: краткий обзор Tanzu Greenplum Text

Сегодня заглянем под капот Tanzu Greenplum Text: архитектура и принципы работы этого средства поиска и анализа текстов, интегрированного с популярной MPP-СУБД. Как движок наподобие Elasticsearch связывает кластер Apache Solr с базой данных Greenplum и зачем здесь нужен Zookeeper. Что такое Tanzu Greenplum Text Мы уже рассказывали про основные функциональные возможности...

Микросервисная архитектура с Neo4j, Kafka и Outbox-паттерном проектирования

В рамках обучения ИТ-архитекторов и разработчиков распределенных приложений рассмотрим, что представляет собой Transactional Outbox и как этот паттерн проектирования микросервисной архитектуры можно реализовать с помощью Neo4j и Apache Kafka, чтобы создать масштабируемый, общий и абстрактный способ запроса информации независимо от типа объекта. Постановка задачи: проблемы микросервисной архитектуры и способы их...

Синхронные и асинхронные продюсеры: Graceful shutdown для Apache Kafka

Мы уже рассказывали, что такое Graceful shutdown на примере Spark Streaming. Сегодня разберем реализацию этой идеи плавного завершения задач в потоковой обработке данных применяется в компании Carwow при работе с Apache Kafka и dyno-контейнерами приложений Heroku. Потоковая обработка данных и проблема завершения потоковых заданий в контейнерах Heroku Carwow - британская...

Аналитика больших данных в реальном времени с Apache Kafka, Spark, ClickHouse и S3

Практический пример аналитики больших данных в реальном времени с Apache Spark, Kafka, ClickHouse и AWS S3: возможности, архитектура, также специально для дата-инженеров и разработчиков распределенных приложений рассмотрим, сколько времени нужно для разрешения каждого вызова API в определенном временном диапазоне. Анализ событий пользовательского поведения в реальном времени Основным продуктом международной ИТ-компании...

Cloudera Operational Database: комплексная платформа данных на Apache HBase и Phoenix

В этой статье для дата-инженеров и администраторов SQL-on-Hadoop рассмотрим, что такое Cloudera Data Platform Operational Database, как это связано с Apache HBase и Phoenix. Также разберем, каким образом перенести данные из кластера HBase в Cloudera Operational Database, избежав их потери и других подводных камней. Что такое Cloudera Operational Database: назначение...

Аналитика больших данных с Apache Spark: UDF на Pyspark для вызова внешних REST API

Сегодня рассмотрим, как загружать большие объемы данных из REST API-сервисов с Apache Spark, написав на PySpark собственную UDF-функцию с преобразованием withColumn(), чтобы воспользоваться всеми преимуществами распределенных вычислений этого фреймворка. Локальное исполнение на драйвере и распараллеливание REST-API вызовов в Apache Spark Мы уже рассказывали, что конвертация Python-скрипта в распределенный код Apache...

Serverless для Apache Kafka c Upstash

Сегодня поговорим про администрирование кластера Apache Kafka и разработку потоковых приложений передачи и разберем, как обеспечить их работу в бессерверном режиме с платформой Upstash. Финансовая экономия, простота сопровождения и другие преимущества FaaS-сервисов и serverless-подхода с RESTfull API для обработки событий в реальном времени. Снова про serverless: что такое Upstash Kafka...

NLP с Graph Data Science в Neo4j: 3 эмбеддинг-алгоритма

В рамках нашего нового курса графовым алгоритмам в бизнес-приложениях, сегодня разберем эмбеддинг-алгоритмы в библиотеке Graph Data Science СУБД Neo4j: их особенности и возможности практического использования для задач обработки естественного языка (NLP). Также рассмотрим, чем FastRP отличается от GraphSAGE с Node2Vec. NLP, эмбеддинги и Graph Data Science В обработке естественного языка...

Не только SQL-операторы: Transform для манипулирования данными в Apache Hive

Что такое Hive Transform, зачем это нужно дата-инженеру и разработчику распределенных приложений, где и как использовать эту функцию популярного средства SQL-on-Hadoop. Краткий обзор альтернативного способа операций с данными в Apache Hive, его возможности и ограничения, а также связь с HiveQL. Преобразования в Apache Hive Apache Hive – это популярная экосистема...

Я за тобой слежу: настраиваем мониторинг Spark-приложений в кластере Kubernetes

Как организовать удобный мониторинг за приложениями Apache Spark в кластере Kubernetes с помощью Prometheus и Grafana: пошаговый guide для администраторов и дата-инженеров с примерами. Создаем свою альтернативу наглядным дэшбордам AWS EMR с Java-библиотекой Dropwizard Metrics и средством настройки оповещений Alertmanager. Не только AWS EMR или как следить за Spark-приложениями в...

Копирование сложных структур данных из Kafka в СУБД с SMT и JDBC Sink Connector

Мы уже рассматривали особенности обработки вложенных структур данных на примере парсинга JSON-файлов с Apache Spark и Hive. Развивая эту тему, сегодня поговорим про перенос записей с вложенными массивами из топиков Apache Kafka в реляционные СУБД с пользовательскими SMT-преобразователями и JDBC-коннектором: кейс для разработчиков. Проблемы обработки сложных структур данных с JDBC-коннектором...