Google PDE: Оркестрация рабочих процессов и автоматизация пайплайнов — Руководство по подготовке

Часть Google Professional Data Engineer — Руководство по подготовке. Практикуйтесь с проверенными ответами в центре экзаменов Google, или пройдите тесты на время на ExamRoll.io.

Обзор

Оркестрация рабочих процессов и автоматизация конвейеров координируют задачи обработки данных между сервисами, чтобы прием, преобразование, проверка качества и публикация данных происходили надежно, безопасно и экономически эффективно. В Google Cloud оркестрация должна соответствовать модели выполнения каждой рабочей нагрузки: пакетные задания по расписанию, потоковая обработка на основе событий, специальные (ad-hoc) или длительные задания. Цели проектирования — повторяемость, идемпотентность, наблюдаемость, принцип наименьших привилегий и безопасное продвижение по средам.

Ключевые варианты:

Операционная модель делает акцент на повторных попытках с ограниченной экспоненциальной задержкой, тайм-аутах, SLA, догоняющих запусках (catchup) и заполнении пропущенных данных (backfills), идемпотентной архитектуре задач для безопасных повторных запусков и надежной обработке сбоев с перехватом в очередь недоставленных сообщений (dead-letter). Безопасность обеспечивается через сервисные аккаунты для каждого конвейера, изоляцию секретов, параметризацию и IAM с принципом наименьших привилегий. CI/CD, инфраструктура как код и комплексная телеметрия дополняют подход, готовый к использованию в производственной среде.

Оркестрация в Google Cloud: инструменты и паттерны

Cloud Composer (Airflow)

Cloud Workflows, Cloud Scheduler, задания Cloud Run и выполнение на основе событий

Dataform: SQL-воркфлоу для BigQuery

Dataproc, Dataflow и паттерны хранения данных

Надежность, обработка сбоев и идемпотентность

Повторные попытки, тайм-ауты и экспоненциальная задержка

Заполнение пропущенных данных (backfill), наверстывание (catchup) и обработка сбоев

Проектирование идемпотентных задач и повторные запуски

Устранение неполадок и масштабируемость

Безопасность, параметризация, среды и CI/CD

Параметризация и управление конфигурацией

Секреты, сервисные аккаунты и принцип минимальных привилегий

CI/CD и инфраструктура как код

Наблюдаемость, оповещения и регламенты (Runbooks)

Телеметрия и оповещения

Разработка регламентов (Runbook)

Практический сценарий

Компании Acme Retail Analytics необходимо ежедневно загружать CSV-файлы от партнеров, которые иногда содержат некорректные строки, преобразовывать и загружать корректные данные в BigQuery, а также предоставлять некорректные строки для расследования. Они также хотят реализовать обогащение данных на основе событий для обновления цен почти в реальном времени и обеспечить безопасное развертывание из среды разработки в производственную.

Подход:

  1. Хранилище и триггеры на основе событий

    • Создайте выделенный бакет Cloud Storage с версионированием объектов и унифицированным доступом на уровне бакета. Включите уведомления о финализации объектов (object finalize) в Pub/Sub через Eventarc.
    • Обоснование: Финализация объекта — это надежное событие для запуска последующей загрузки; версионирование обеспечивает возможность повторных запусков и аудита.
  2. Пакетная загрузка с обработкой неисправных сообщений (dead-letter)

    • Используйте Cloud Composer для запуска ежедневного DAG в Airflow в 02:00 с включенным параметром catchup. DAG запускает пакетное задание Dataflow, которое разбирает CSV-файлы, проверяет схему и записывает корректные записи в BigQuery, используя детерминированные промежуточные таблицы, а затем выполняет MERGE в партиционированные целевые таблицы. Некорректные/сбойные записи направляйте в таблицу для неисправных данных (dead-letter table) в BigQuery.
    • Обоснование: Dataflow масштабирует парсинг/валидацию; MERGE обеспечивает идемпотентность; сбор неисправных данных позволяет анализировать их, не блокируя конвейер, что соответствует рекомендуемому шаблону для обработки некорректных строк.
  3. Обогащение данных на основе событий

    • Разверните задание Cloud Run для выполнения легковесного обогащения данных при инкрементальных обновлениях цен. Запускайте его через Cloud Workflows, который прослушивает сообщения Pub/Sub из Eventarc при поступлении небольших файлов с обновлениями в течение дня.
    • Обоснование: Бессерверные контейнеры с Workflows обеспечивают оркестрацию небольших событий с низкой задержкой и минимальными операционными затратами, в то время как тяжелые преобразования остаются в пакетной обработке.
  4. Средства обеспечения надежности

    • Настройте повторные попытки с экспоненциальной задержкой (exponential backoff) для временных сбоев в заданиях Dataflow и Cloud Run, ограничив общее время повторных попыток в рамках SLA для DAG. Установите тайм-ауты выполнения для каждой задачи и колбэки on_failure в Airflow; в Workflows установите max_doublings и max_retry_duration.
    • Обоснование: Ограниченная задержка между повторами помогает соблюдать SLA и предотвращает бесконечные повторные попытки.
  5. Безопасность и принцип наименьших привилегий

    • Запускайте каждый компонент под выделенным сервисным аккаунтом: SA для оркестратора Composer, SA для воркеров Dataflow, SA для задания Cloud Run. Предоставляйте только необходимые роли: GCS read для бакета с входящими данными для Dataflow, BigQuery dataEditor для целевых наборов данных и Viewer для журналов. Храните секреты в Secret Manager и обращайтесь к ним во время выполнения.
    • Обоснование: Это обеспечивает соблюдение принципа наименьших привилегий и изолирует радиус поражения при сбое.
  6. Оркестрация на основе метаданных

    • Ведите управляющую таблицу в BigQuery, содержащую список источников-партнеров, шаблоны файлов и целевые наборы данных. Во время выполнения DAG Airflow запрашивает эту таблицу и использует динамическое сопоставление задач (dynamic task mapping) для создания задач для каждого партнера.
    • Обоснование: Добавление нового партнера становится изменением данных, а не кода, что снижает риск при развертывании.
  7. Наблюдаемость и оповещения

    • Создавайте структурированные журналы с run_id и partner_id. Создайте политики оповещения о нарушении SLA для DAG, системном отставании в Dataflow и ненулевом количестве записей в таблице неисправных данных. Для вставок в целевую таблицу BigQuery настройте приемник (sink) Cloud Logging с расширенным фильтром для этой таблицы, отправляющий данные в топик Pub/Sub, который используется инструментом мониторинга Acme.
    • Обоснование: Гранулированные оповещения позволяют быстро выявлять и устранять проблемы без лишнего шума.
  8. CI/CD и развертывание по средам

    • Управляйте инфраструктурой (бакеты, Pub/Sub, Eventarc, Composer, Workflows, наборы данных BigQuery) с помощью Terraform. Используйте Cloud Build для проверки синтаксиса DAG в Airflow, запуска модульных тестов и развертывания в среду разработки Composer. Продвигайте изменения в тестовую и производственную среды с помощью параметризованных конфигураций и этапов ручного утверждения после прохождения проверок в Dataform и интеграционных тестов.
    • Обоснование: Декларативные, повторяемые развертывания и безопасное продвижение изменений между средами.
  9. Регламент (Runbook) и восстановление

    • Задокументируйте шаги для повторной обработки данных за определенную дату: восстановление CSV из версионированных объектов, повторный запуск задания Dataflow для этой партиции, выполнение MERGE результатов и просмотр записей в DLQ. Включите процедуру «воспроизведения на фиксированном наборе данных» (fixed dataset replay) для изоляции ошибок преобразования при возникновении расхождений.
    • Обоснование: Идемпотентный дизайн и задокументированные процедуры восстановления упрощают устранение частичных сбоев.

Прием · Все домены · Машинное обучение

Отработать эти вопросы → · Тесты на время на ExamRoll.io →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

Сдайте экзамен →

Просмотреть Google →

Related guides

Все включено

Одна подписка. Каждый экзамен.

Каждый план открывает неограниченный поиск ответов, практические тесты, объяснения AI и полную библиотеку ресурсов — на более чем 20 языках.

Ежемесячно
24.87
Just €0.83/day
Все включено:
  • Неограниченный поиск ответов
  • Неограниченные практические тесты
  • Объяснения на основе AI
  • Полная библиотека ресурсов
  • 20+ языков
  • Еженедельные обновления контента
  • Награды и рефералы
  • Приоритетная поддержка
Начать бесплатную пробную версию

Кредитная карта не требуется*

Лучшая цена
12 месяцев
179.87
Just €0.49/daySave 40%
Все включено:
  • Неограниченный поиск ответов
  • Неограниченные практические тесты
  • Объяснения на основе AI
  • Полная библиотека ресурсов
  • 20+ языков
  • Еженедельные обновления контента
  • Награды и рефералы
  • Приоритетная поддержка
Начать бесплатную пробную версию

Кредитная карта не требуется*

✓ Включен бесплатный план · ✓ Отмена в любое время · ✓ Все планы открывают полный продукт