Открыть сервис

Google Dataproc

Google Cloud Dataproc — это облачный сервис, предоставляемый платформой Google Cloud Platform для выполнения задач распределённой обработки и анализа больших данных с использованием открытых фреймворков Apache Hadoop и Apache Spark. Сервис позволяет быстро развёртывать управляемые кластеры виртуальных машин, автоматизируя процессы настройки, масштабирования и мониторинга инфраструктуры. Dataproc относится к классу PaaS-решений («платформа как услуга») и предназначен для ETL-процессов, машинного обучения, потоковой обработки данных и научных вычислений.

История и развитие

Сервис Google Dataproc был анонсирован в сентябре 2014 года на конференции Google Cloud Platform Live. Изначально он поддерживал только Apache Hadoop и Apache Spark, но со временем функциональность расширилась. В 2016 году была добавлена поддержка Apache Hive, Pig и Presto, а также возможность интеграции с другими сервисами Google Cloud, такими как BigQuery и Cloud Storage.

Значительное обновление произошло в 2018 году, когда Dataproc получил поддержку бессерверных рабочих нагрузок и автоматического масштабирования кластера. В 2019 году была представлена опция «Dataproc on GKE» — возможность запуска рабочих нагрузок на узлах Kubernetes. В 2021 году сервис интегрировал поддержку Apache Flink для потоковой обработки, а в 2022-м были добавлены оптимизированные образы для рабочих нагрузок машинного обучения.

Архитектура и ключевые компоненты

Кластерная инфраструктура

Dataproc управляет виртуальными машинами Compute Engine, которые образуют кластер. Кластер состоит из одного master-узла (управляющий, отвечает за NameNode в Hadoop и ResourceManager в YARN) и одного или нескольких worker-узлов (DataNode и NodeManager). Для обеспечения отказоустойчивости может быть настроен дополнительный standby-master-узел.

Провайдеры хранения

Dataproc использует распределённую файловую систему Hadoop Distributed File System (HDFS) на локальных дисках виртуальных машин. Однако для постоянного и масштабируемого хранения рекомендуется интеграция с Google Cloud Storage (GCS). Фреймворк Hadoop может напрямую обращаться к данным в GCS через коннектор gs://, что позволяет хранить данные вне кластера и отделять вычисления от хранения.

Драйверы и фреймворки

Сервис поддерживает установку и конфигурацию следующих открытых фреймворков:

Все фреймворки предустановлены в образе Dataproc и могут быть вызваны через единый интерфейс.

Управление ресурсами

YARN (Yet Another Resource Negotiator) выступает в роли планировщика ресурсов кластера. При запуске задач пользователь может указать количество ядер, объём памяти и дискового пространства для каждого драйвера. Если кластер использует автоматическое масштабирование, YARN динамически увеличивает или уменьшает количество worker-узлов в зависимости от текущей загрузки.

Возможности и особенности

Быстрое развёртывание

Dataproc создаёт кластер за 90 секунд или быстрее, что значительно ускоряет по сравнению с традиционной ручной настройкой Hadoop/Spark-инфраструктуры, на которую могут уходить часы. Скорость достигается за счёт предустановленных образов ПО, кэширования пакетов и оптимизированных скриптов инициализации.

Автоматическое масштабирование

Кластеры Dataproc могут автоматически расширяться или сжиматься на основе значения метрики YARN (например, процент занятых ресурсов). Это позволяет экономить затраты при снижении нагрузки и обеспечивать производительность при пиковых объёмах данных.

Разделение вычислений и хранения

По умолчанию данные хранятся в Cloud Storage, а не на локальных дисках кластера. После завершения задачи кластер может быть удалён без потери данных. Это снижает стоимость и упрощает управление жизненным циклом данных.

Интеграция с экосистемой Google Cloud

Dataproc тесно интегрирован с сервисами Google Cloud:

Оптимизация для машинного обучения

В 2022 году были выпущены образы Dataproc, оптимизированные для машинного обучения: версии Spark с поддержкой GPU-ускорения и интеграцией с библиотеками TensorFlow, PyTorch и NVIDIA RAPIDS. Эти образы позволяют использовать кластеры для задач глубокого обучения и инференса.

Режимы работы

Кластерный режим

Классический подход: создаётся временный или постоянный кластер из N worker-узлов. Подходит для пакетной обработки больших объёмов данных (сотни терабайт — десятки петабайт). Кластер может быть одноразовым (создан для одной задачи и удалён) или постоянным (используется для множества задач).

Бессерверный режим (Serverless Spark)

С 2020 года существует режим Dataproc Serverless for Spark, в котором не требуется управлять кластером. Пользователь отправляет задачу (в формате Python, Scala или Java), а Cloud автоматически распределяет вычислительные ресурсы. Этот режим подходит для рабочих нагрузок с переменной интенсивностью и небольших задач.

Dataproc on GKE

Опция, позволяющая размещать рабочие нагрузки Dataproc внутри кластера Google Kubernetes Engine. Это даёт возможность запускать Spark-приложения в контейнеризированной среде с гибким управлением ресурсами, а также использовать стандартные инструменты Kubernetes для мониторинга и CI/CD.

Примеры использования

Преимущества и недостатки

Среди преимуществ отмечаются: высокая скорость развёртывания (до 90 секунд), автоматическое масштабирование, интеграция с облачными сервисами Google, оплата только за фактически использованные ресурсы (по секундам), а также широкий выбор поддерживаемых фреймворков. В качестве недостатков называют: зависимость от экосистемы Google Cloud (миграция в другие облака потребует переработки настроек), сложность отладки бессерверных заданий, а также потенциально высокая стоимость при постоянной работе больших кластеров по сравнению с использованием выделенного аппаратного обеспечения или дешёвых регионов.

Критика

Некоторые пользователи отмечают, что Dataproc менее производителен для очень больших кластеров (более 1000 узлов) по сравнению с изолированными решениями Hadoop на голом железе, из-за виртуализации и ограничений сети Compute Engine. Также упоминается отсутствие нативной поддержки Apache Storm и Apache Kafka из коробки (требуют ручной настройки), что может быть неудобно для команд, привыкших к этим инструментам.

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →