Справочник - ADP Google Cloud Associate Data Practitioner
Последняя проверка: май 2026 г.
Сжатый справочник архитектурных шаблонов, проверяемых на экзамене ADP. Читайте сверху вниз или переходите к нужному разделу.
Подготовка и загрузка данных
Загрузка больших пакетных файлов (CSV, Parquet, Avro) из Cloud Storage в BigQuery.
Используйте задание загрузки BigQuery. Укажите URI с подстановочным знаком (например, `gs://bucket/path/*`) для загрузки нескольких файлов в одном задании.
Почему: Это самый быстрый и экономичный метод пакетной загрузки. Задания загрузки бесплатны. Он позволяет избежать затрат на построчную потоковую передачу.
Прием больших объемов данных в реальном времени (IoT, clickstream) с возможностью преобразования.
Pub/Sub -> Dataflow -> BigQuery.
Почему: Канонический масштабируемый шаблон потоковой передачи. Pub/Sub предоставляет надежный, масштабируемый буфер. Dataflow обеспечивает сложные преобразования, оконные функции и обработку "точно один раз".
Репликация операционной базы данных (MySQL, PostgreSQL, Oracle) в BigQuery с низкой задержкой, фиксируя все изменения (вставки, обновления, удаления).
Используйте Datastream для Change Data Capture (CDC).
Почему: Специально создан для низконагрузочного CDC в реальном времени. Он обрабатывает начальное заполнение и передает текущие изменения непосредственно в BigQuery.
Выполнение сложной проверки, обогащения или преобразования данных (например, выравнивание вложенных JSON/XML) перед загрузкой в BigQuery.
Используйте конвейер Dataflow с пользовательскими преобразованиями Apache Beam (например, ParDo).
Почему: Dataflow обеспечивает максимальную гибкость для пользовательского кода (Python/Java), сложной логики и маршрутизации недействительных записей в очередь недоставленных сообщений.
Передача терабайтов или петабайтов данных из другого облака (например, S3) или локального центра обработки данных в Cloud Storage.
Для передачи из облака в облако используйте Storage Transfer Service. Для локальных систем с ограниченной пропускной способностью сети используйте Transfer Appliance.
Почему: STS - это управляемый, высокопроизводительный сервис для онлайн-передач. Transfer Appliance предназначен для офлайн-передач (физической доставки), когда сеть является узким местом.
Запрос данных, находящихся в Cloud Storage или Amazon S3, непосредственно из BigQuery без их загрузки.
Создайте внешнюю таблицу BigQuery. Для унифицированного управления с помощью Spark используйте таблицу BigLake.
Почему: Позволяет избежать дублирования данных и затрат на хранение в BigQuery. BigLake добавляет детализированную безопасность (на уровне строк/столбцов) и управление данными объектного хранилища.
Конвейер загрузки должен автоматически адаптироваться при добавлении новых столбцов в исходные файлы (JSON, Avro).
Настройте задание загрузки BigQuery с `schemaUpdateOptions`, установленным в `ALLOW_FIELD_ADDITION`.
Почему: Автоматизирует эволюцию схемы. BigQuery добавляет новые столбцы в схему таблицы, не вызывая сбоя задания загрузки.
Потоковая передача больших объемов данных в BigQuery с семантикой "точно один раз" по более низкой цене, чем устаревший Streaming API.
Используйте BigQuery Storage Write API.
Почему: Обеспечивает более высокую пропускную способность и более низкие затраты по сравнению со старым API `insertAll`, с сильными гарантиями, такими как доставка "точно один раз" в рамках потока.
Почему: Стандарт для оркестрации сложных рабочих процессов. Предоставляет DAG для определения зависимостей, планирования, повторных попыток, оповещений и богатой экосистемы операторов.
DAG Cloud Composer должен приостановиться и дождаться появления определенного файла в сегменте Cloud Storage, прежде чем продолжить работу.
Используйте `GCSObjectExistenceSensor` в DAG Airflow.
Почему: Это идиоматический шаблон "датчика" Airflow для ожидания внешних условий. Он более эффективен, чем настраиваемый цикл опроса в PythonOperator.
Конвейер потоковой передачи Dataflow должен корректно агрегировать события по временной метке, даже если события приходят не по порядку или с опозданием.
Используйте оконные функции по времени события с водяными знаками и настройте `allowedLateness`.
Почему: Эта основная функция Dataflow/Beam правильно группирует данные на основе времени возникновения события, а не времени его обработки. `allowedLateness` предотвращает отбрасывание запоздавших данных.
Запуск крупномасштабных, неинтерактивных заданий Apache Spark для пакетной обработки или машинного обучения.
Используйте кластер Dataproc. Для максимальной экономии средств используйте эфемерный кластер с Spot VMs (ранее preemptible VMs).
Почему: Dataproc - это управляемый сервис Spark/Hadoop. Эфемерные кластеры существуют только на время выполнения задания, а Spot VMs предлагают значительные скидки для отказоустойчивых рабочих нагрузок.
Создайте стандартизированный конвейер Dataflow, который может быть выполнен различными командами с различными параметрами (например, пути ввода/вывода).
Упакуйте конвейер как Flex Template Dataflow.
Почему: Flex Templates - это современный стандарт для многократно используемых заданий Dataflow. Они основаны на контейнерах, поддерживают пользовательские зависимости и принимают параметры времени выполнения.
Задача в DAG Cloud Composer периодически завершается сбоем из-за временных внешних проблем (например, ограничения частоты API, конкуренция за ресурсы).
Настройте `retries` и `retry_delay` с `retry_exponential_backoff=True` для задачи.
Почему: Это делает конвейер устойчивым за счет автоматического повтора неудачных задач с увеличивающимися задержками, что часто решает временные проблемы без ручного вмешательства.
Конвейер потоковой передачи Dataflow отстает, демонстрируя высокую системную задержку или низкую актуальность данных.
Изучите метрики мониторинга Dataflow. Проверьте, достигает ли автомасштабирование предела `maxNumWorkers`. Увеличьте `maxNumWorkers` или переключитесь на более мощный тип машины.
Почему: Высокая системная задержка является основным показателем недостаточной вычислительной мощности. Конвейеру требуется больше или более мощных рабочих процессов, чтобы справляться с потоком данных.
Управление данными
Оптимизация большой таблицы BigQuery для стоимости и производительности запросов.
Разделите таблицу по часто фильтруемому столбцу единицы времени (например, дата транзакции). Кластеризуйте таблицу по другим часто фильтруемым столбцам с высокой кардинальностью (например, `customer_id`).
Почему: Разделение - наиболее эффективный способ снижения стоимости и задержки за счет сокращения объема сканируемых данных. Кластеризация дополнительно улучшает производительность за счет сортировки данных внутри разделов.
Предотвращение копирования данных из конфиденциального набора данных BigQuery в неавторизованное место назначения (например, в публичный сегмент GCS), даже пользователем с действительными учетными данными.
Используйте VPC Service Controls для создания периметра безопасности вокруг проекта, содержащего набор данных BigQuery.
Почему: VPC Service Controls действуют как "виртуальный брандмауэр" для сервисов GCP, предотвращая выход данных за пределы периметра. Это критически важный многоуровневый контроль против утечки данных.
Ограничить доступ к конфиденциальным столбцам (например, PII) в таблице BigQuery для авторизованных групп, позволяя другим запрашивать остальные столбцы.
Используйте Data Catalog для создания таксономии и тегов политик. Примените теги политик к конфиденциальным столбцам и предоставьте роль "Fine-Grained Reader" авторизованным группам.
Почему: Это нативный, масштабируемый метод обеспечения безопасности на уровне столбцов в BigQuery. Он обеспечивает централизованное управление без необходимости создавать и управлять отдельными представлениями.
Отфильтровать таблицу таким образом, чтобы пользователи могли видеть только те строки, которые относятся к ним (например, менеджеры по продажам видят только данные своего региона).
Создайте политику безопасности на уровне строк для таблицы, которая фильтрует строки на основе `SESSION_USER()` или другого критерия.
Почему: Обеспечивает динамическую фильтрацию на основе предикатов во время выполнения запроса. Это более безопасно и управляемо, чем создание авторизованного представления для каждого пользователя или роли.
Автоматическое удаление данных из таблицы BigQuery по истечении указанного срока хранения для соблюдения нормативных требований (например, удаление данных старше 7 лет).
Для временных рядов данных установите срок действия раздела для таблицы, разделенной по времени. Для других таблиц установите срок действия таблицы по умолчанию.
Почему: Это встроенная функция "настроил и забыл", которая обеспечивает соответствие требованиям без ручных скриптов очистки или внешней оркестрации.
Таблица BigQuery была случайно изменена или удалена.
Используйте BigQuery Time Travel для запроса таблицы в том виде, в каком она существовала в определенный момент времени до инцидента, используя `FOR SYSTEM_TIME AS OF`.
Почему: BigQuery автоматически сохраняет 7-дневную историю данных таблицы. Это позволяет мгновенно восстанавливать данные в пределах окна Time Travel без необходимости восстановления из резервных копий.
Обнаружение, управление, защита и мониторинг информационных активов (BigQuery, GCS) в рамках всей организации.
Используйте Dataplex.
Почему: Dataplex действует как интеллектуальная фабрика данных, предоставляя единую панель для управления данными, обеспечения качества, отслеживания происхождения, обнаружения и управления жизненным циклом данных в различных разрозненных хранилищах.
Понимание и визуализация того, как данные проходят от исходных систем через задания преобразования до конечных отчетных таблиц.
Используйте Dataplex Data Lineage.
Почему: Автоматически собирает информацию о происхождении данных из BigQuery, Data Fusion и журналов Composer, чтобы предоставить интерактивное, графовое представление зависимостей данных для анализа воздействия и аудита.
Обеспечение предсказуемой производительности запросов и стоимости для критически важных рабочих нагрузок, избегая "конкуренции за слоты" со стороны других пользователей.
Приобретите BigQuery Editions (ценообразование на основе мощности). Создайте резервации, чтобы выделить пул слотов для конкретных проектов или папок.
Почему: Переход от общего пула по требованию к выделенной вычислительной мощности, гарантирующий ресурсы для критически важных задач и обеспечивающий предсказуемое выставление счетов.
Сканирование всех информационных активов в BigQuery и Cloud Storage для автоматического выявления и классификации PII и других конфиденциальных данных.
Настройте задание сканирования обнаружения Cloud Data Loss Prevention (DLP).
Почему: Cloud DLP использует сотни предопределенных детекторов для обнаружения конфиденциальных данных в масштабе. Он может интегрироваться с Data Catalog для автоматического применения тегов политик для управления.
Контейнерному приложению (в GKE или Cloud Run) требуется безопасная аутентификация в BigQuery без управления ключами учетных записей служб.
Используйте Workload Identity.
Почему: Рекомендуемая лучшая практика для аутентификации между службами. Она сопоставляет учетную запись службы Kubernetes с учетной записью службы GCP IAM, используя кратковременные, автоматически ротируемые токены.
Для обеспечения соответствия требованиям, сгенерируйте отчет обо всех пользователях, которые запрашивали конфиденциальную таблицу BigQuery за последние 90 дней.
Включите и запросите журналы аудита BigQuery Data Access, которые могут быть направлены в набор данных BigQuery для анализа.
Почему: Журналы Data Access предоставляют неизменяемую запись о том, кто, когда и к каким данным обращался. Они необходимы для аудита безопасности и соответствия требованиям, но должны быть явно включены.
Определите, какие пользователи или запросы являются причиной высоких затрат в BigQuery.
Запросите представление `INFORMATION_SCHEMA.JOBS`.
Почему: Это представление метаданных содержит подробную информацию о каждом выполненном запросе, включая пользователя, оплаченные байты и потребленные слоты, что позволяет точно атрибутировать и анализировать затраты.
Анализ и представление данных
Выполнение сложных аналитических расчетов, таких как нарастающие итоги, ранжирование внутри групп (например, топ N по категории) или сравнение строки с предыдущей.
Используйте оконные функции SQL BigQuery (`SUM() OVER (...)`, `RANK() OVER (...)`, `LAG() OVER (...)`).
Почему: Стандартный и наиболее эффективный метод SQL для выполнения расчетов по набору строк таблицы, которые каким-либо образом связаны с текущей строкой.
Создание и совместное использование интерактивных, автоматически обновляемых панелей мониторинга на основе данных BigQuery для бизнес-пользователей, которые не пишут SQL.
Используйте Looker Studio.
Почему: Нативный, бесплатный инструмент визуализации GCP. Он напрямую подключается к BigQuery и позволяет обмениваться данными по простой ссылке, управляя учетными данными источника данных отдельно от доступа пользователей.
Предоставьте бизнес-аналитикам возможность использовать привычные инструменты электронных таблиц (сводные таблицы, диаграммы, формулы) для анализа терабайтов данных в BigQuery.
Используйте Connected Sheets.
Почему: Обеспечивает прямое подключение Google Таблиц к BigQuery. Вся обработка и вычисления происходят в BigQuery, обходя ограничения по размеру и производительности традиционных электронных таблиц.
Панель мониторинга Looker Studio, запрашивающая большие, сложные агрегации, работает медленно и дорого.
Создайте материализованное представление BigQuery для предварительного вычисления агрегаций. Направьте источник данных Looker Studio на материализованное представление.
Почему: Материализованные представления предварительно вычисляют и кэшируют результаты дорогостоящих запросов. Это значительно улучшает производительность панели мониторинга и снижает затраты на запросы для повторяющихся рабочих нагрузок.
Создание, обучение и обслуживание модели машинного обучения (например, для классификации, регрессии или прогнозирования) с использованием данных, находящихся в BigQuery.
Используйте BigQuery ML (BQML).
Почему: Демократизирует ML, позволяя пользователям обучать модели с помощью стандартного синтаксиса SQL `CREATE MODEL`. Модель живет и выполняется в BigQuery, упрощая развертывание и прогнозирование.
Прогнозирование будущих бизнес-метрик (например, продаж, спроса) на основе исторических данных временных рядов.
Используйте BigQuery ML с типом модели `ARIMA_PLUS`.
Почему: `ARIMA_PLUS` - это специально разработанная модель BQML для прогнозирования временных рядов, которая автоматически учитывает тренды, сезонность, праздники и обнаружение аномалий.
Запрос BigQuery, объединяющий очень большую таблицу фактов (ТБ) с небольшой таблицей измерений (<100МБ), выполняется медленно.
Убедитесь, что BigQuery использует broadcast join. Хотя это часто происходит автоматически, вы можете проверить план запроса или использовать подсказку `JOIN`, если это необходимо.
Почему: Broadcast join отправляет всю небольшую таблицу в каждый слот обработки, избегая дорогостоящей и медленной перетасовки больших данных по сети.
Модель BigQuery ML должна регулярно (например, еженедельно) переобучаться на новых данных для предотвращения дрейфа модели.
Используйте запланированный запрос BigQuery для выполнения оператора `CREATE OR REPLACE MODEL`.
Почему: Это самый простой и наиболее интегрированный способ автоматизации переобучения BQML. Он не требует внешних сервисов, таких как Composer или Cloud Functions.
Создайте систему рекомендаций на основе коллаборативной фильтрации (например, "пользователи, купившие X, также купили Y").
Используйте BigQuery ML с типом модели `MATRIX_FACTORIZATION`.
Почему: Эта модель специально разработана для задач рекомендаций на основе данных о взаимодействии пользователя и элемента.