Cloud Composer против Cloud Scheduler - PullRequest
1 голос
/ 21 января 2020

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

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

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

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

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

Вопрос 1

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

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

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

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

D. Облако Composer

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

Вопрос 2

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

A. cron

B. Облако Composer

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

D. Шаблоны рабочих процессов в облаке Datapro c

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

Вопрос 3

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

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

B. Облако Composer

C. Cloud Dataprep

D. Cloud Datapro c

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

Любая информация по этому вопросу будет принята с благодарностью. Спасибо!

Ответы [ 2 ]

6 голосов
/ 21 января 2020

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

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

1 голос
/ 21 января 2020

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

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

...