Cloud Composer против Cloud Scheduler

В настоящее время я готовлюсь к экзамену GCP Data Engineer и изо всех сил пытаюсь понять, когда использовать Cloud Scheduler и где использовать Cloud Composer.

После чтения документации у меня сложилось впечатление, что Cloud Composer следует использовать, когда есть взаимозависимости между заданиями, например нам нужен вывод задания, чтобы запускать другое, когда первое завершается, и использовать зависимости, полученные от первого задания. Затем вы можете гибко объединить в цепочку столько «рабочих процессов», сколько захотите, а также предоставить возможность перезапускать задания в случае сбоя, запускать пакетные задания, сценарии оболочки, цепочки запросов и т. Д.

Что касается Cloud Scheduler, он имеет очень похожие возможности в отношении того, какие задачи он может выполнять, однако он больше используется для обычных заданий, которые вы можете выполнять через регулярные промежутки времени, и не обязательно используется, когда у вас есть взаимозависимости между заданиями или когда вам нужно дождаться других заданий, прежде чем начинать новое. Поэтому, похоже, больше подходит для использования в «более простых» задачах.

Эти мысли пришли после попытки ответить на некоторые вопросы экзамена, которые я нашел. Однако я был удивлен найденными «правильными ответами» и надеялся, что кто-то сможет уточнить, верны ли эти ответы и понял ли я, когда использовать один вместо другого.

Вот примеры вопросов, которые сбили меня с толку относительно этой темы:

Вопрос 1

Вы реализуете несколько пакетных заданий, которые должны выполняться по расписанию. У этих заданий есть много взаимозависимых шагов, которые должны выполняться в определенном порядке. Части заданий включают выполнение сценариев оболочки, выполнение заданий Hadoop и выполнение запросов в BigQuery. Ожидается, что задания будут выполняться от многих минут до нескольких часов. Если шаги не удались, их необходимо повторить определенное количество раз. Какую службу следует использовать для управления выполнением этих заданий?

А. Облачный планировщик

Б. Облачный поток данных

C. Облачные функции

D. Cloud Composer

Правильный ответ: А

Вопрос 2

Вы хотите автоматизировать выполнение многоэтапного конвейера данных, работающего в Google Cloud. В конвейер входят задания Cloud Dataproc и Cloud Dataflow, которые имеют множество зависимостей друг от друга. Вы хотите использовать управляемые службы там, где это возможно, и конвейер будет работать каждый день. Какой инструмент использовать?

А. cron

Б. Cloud Composer

C. Облачный планировщик

D. Шаблоны рабочих процессов в Cloud Dataproc

Правильный ответ: D

Вопрос 3

У вашей компании есть инициатива по гибридному облаку. У вас есть сложный конвейер данных, который перемещает данные между службами облачных провайдеров и использует сервисы от каждого из облачных провайдеров. Какой облачный сервис следует использовать для оркестровки всего конвейера?

A. Cloud Dataflow

Б. Cloud Composer

C. Cloud Dataprep

D. Cloud Dataproc

Правильный ответ: D

Мы будем очень благодарны за любое понимание этого. Спасибо !


person guibvieira    schedule 21.01.2020    source источник


Ответы (2)


Ваши предположения верны, Cloud Composer - это управляемый сервис Apache Airflow, он хорошо работает при организации взаимозависимых конвейеров, а Cloud Scheduler - это просто управляемый сервис Cron.

Я не знаю, откуда у вас эти вопросы и ответы, но уверяю вас (а в прошлом месяце я только что получил сертификат GCP Data Engineer), правильным ответом будет Cloud Composer для каждого из них, просто проигнорируйте это предполагаемое правильное ответы и двигаться дальше.

person LeandroHumb    schedule 21.01.2020
comment
Спасибо ! Это имеет гораздо больше смысла, я начну игнорировать эти ответы, которые я нахожу в Интернете, терять время и путаться без причины - person guibvieira; 22.01.2020

Cloud Scheduler - это, по сути, Cron-as-a-service. Все, что вам нужно, - это ввести расписание и конечную точку (тема Pub / Sub, HTTP, маршрут App Engine). Cloud Scheduler имеет встроенную обработку повторных попыток, поэтому вы можете установить фиксированное количество раз и не имеет ограничений по времени для запросов. Функциональность намного проще, чем Cloud Composer.

Cloud Composer управляется Apache Airflow, который «помогает вам создавать, планировать, отслеживать и управлять рабочими процессами. Автоматизация Cloud Composer помогает быстро создавать среды Airflow и использовать собственные инструменты Airflow, такие как мощный веб-интерфейс Airflow и инструменты командной строки, чтобы вы могли сосредоточьтесь на рабочих процессах, а не на инфраструктуре "(https://cloud.google.com/composer/docs/) Airflow нацелен на конвейеры данных со всеми необходимыми инструментами.

person Averi Kitsch    schedule 21.01.2020