В чем разница между 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 объясняет, как выбрать один из других.

Dataproc vs Dataflow 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/.