В чем разница между Google Cloud Dataflow и Google Cloud Dataproc?
Я использую Google Data Flow для реализации решения для хранилища данных ETL.
Взгляд в облачное предложение google, кажется DataProc также может сделать то же самое.
Также кажется, что DataProc немного дешевле, чем DataFlow.
Кто-нибудь знает плюсы и минусы DataFlow над DataProc
Почему Google предлагает оба?
Ответы
Ответ 1
Да, Cloud Dataflow и Cloud Dataproc могут использоваться для реализации решений хранения данных ETL.
Обзор того, почему каждый из этих продуктов существует, можно найти в Google Статьи с большими данными о платформе Cloud Platform
Быстрый вынос:
- Cloud Dataproc предоставляет вам кластер Hadoop, GCP и доступ к инструментам Hadoop-экосистемы (например, Apache Pig, Hive и Spark); это имеет большую привлекательность, если вы уже знакомы с инструментами Hadoop и имеете задания Hadoop.
- Cloud Dataflow предоставляет вам место для запуска Apache Beam на основе GCP, и вам не нужно решать общие аспекты работы заданий в кластере (например, работа балансировки или масштабирование числа рабочих для задания, по умолчанию это автоматически управляется для вас и применяется как к пакетной, так и потоковой передаче) - это может занять много времени на других системах
- Apache Beam - важное соображение; Задачи луча предназначены для переносимости через "бегунов", которые включают в себя облачный поток данных, и позволяют сосредоточиться на логических вычислениях, а не на том, как работает "бегун". Для сравнения, при создании задания Spark ваш код связан к бегуну, Спарку, и как работает этот бегун.
- Cloud Dataflow также предлагает возможность создавать задания на основе "шаблонов", которые могут помочь упростить общие задачи, в которых различия являются значениями параметров
Ответ 2
Вот три основных момента, которые следует учитывать при попытке выбора между Dataproc и Dataflow.
-
резервирование
Dataproc - ручная подготовка кластеров
Поток данных - без сервера. Автоматическая подготовка кластеров
-
Зависимости Hadoop
Dataproc следует использовать, если обработка имеет какие-либо зависимости от инструментов в экосистеме Hadoop.
-
портативность
Dataflow/Beam обеспечивает четкое разделение между логикой обработки и базовым механизмом выполнения. Это помогает с переносимостью между различными механизмами выполнения, которые поддерживают среду исполнения Beam, то есть один и тот же конвейерный код может беспрепятственно выполняться в Dataflow, Spark или Flink.
Эта блок-схема с веб-сайта Google объясняет, как выбрать один из других.
https://cloud.google.com/dataflow/images/flow-vs-proc-flowchart.svg
Более подробная информация доступна по ссылке ниже
https://cloud.google.com/dataproc/#fast--scalable-data-processing
Ответ 3
По той же причине, по которой Dataproc предлагает и Hadoop, и Spark: иногда одна модель программирования лучше всего подходит для работы, иногда другая. Аналогичным образом, в некоторых случаях лучше всего подходит модель программирования Apache Beam, предлагаемая Dataflow.
Во многих случаях большое внимание уделяется тому, что у кого-то уже есть кодовая база, написанная для конкретной среды, и нужно просто развернуть ее в Google Cloud, так что даже если, скажем, модель программирования Beam превосходит Hadoop, кто-то с Большая часть кода Hadoop все еще может на время выбрать Dataproc вместо того, чтобы переписывать свой код на Beam для запуска в Dataflow.
Различия между моделями программирования Spark и Beam довольно велики, и существует множество вариантов использования, когда каждая из них имеет большое преимущество перед другой. См. Https://cloud.google.com/dataflow/blog/dataflow-beam-and-spark-comparison.
Ответ 4
![enter image description here]()
Сравнение Dataproc и Dataflow на основе таблиц:
Ответ 5
Cloud Dataproc и Cloud Dataflow могут использоваться как для обработки данных, так и в их пакетных и потоковых возможностях. Вы можете решить, какой продукт лучше подходит для вашей среды.
Cloud Dataproc хорош для сред, зависящих от конкретных компонентов больших данных Apache: - Инструменты/пакеты - Конвейеры - Наборы навыков существующих ресурсов
Облачный поток данных, как правило, является предпочтительным вариантом для сред с "зелеными полями": - Меньшие эксплуатационные расходы - Унифицированный подход к разработке пакетных или потоковых конвейеров - Использует Apache Beam - Поддерживает переносимость конвейера через Cloud Dataflow, Apache Spark и Apache Flink в качестве сред выполнения.
Подробнее смотрите здесь https://cloud.google.com/dataproc/
Сравнение цен:
Если вы хотите рассчитать и сравнить стоимость дополнительных ресурсов GCP, перейдите по этому адресу https://cloud.google.com/products/calculator/.