spark google google-cloud-dataflow google-cloud-dataproc

google-cloud-dataflow - google - dataflow cloud



¿Cuál es la diferencia entre Google Cloud Dataflow y Google Cloud Dataproc? (3)

Estoy usando Google Data Flow para implementar una solución de ETL Data Warehouse.

Mirando en la oferta de Google Cloud, parece que DataProc también puede hacer lo mismo.

También parece que DataProc es un poco más barato que DataFlow.

¿Alguien sabe los pros / contras de DataFlow sobre DataProc?

¿Por qué Google ofrece ambos?


Aquí hay tres puntos principales a considerar al tratar de elegir entre Dataproc y Dataflow

  • Aprovisionamiento
    Dataproc - Aprovisionamiento manual de clusters.
    Flujo de datos - Sin servidor. Aprovisionamiento automático de clusters.

  • Dependencias Hadoop
    Se debe usar Dataproc si el procesamiento tiene alguna dependencia de herramientas en el ecosistema de Hadoop.

  • Portabilidad
    Dataflow / Beam proporciona una clara separación entre la lógica de procesamiento y el motor de ejecución subyacente. Esto ayuda con la portabilidad en diferentes motores de ejecución que admiten el tiempo de ejecución de Beam, es decir, el mismo código de canalización puede ejecutarse sin problemas en Dataflow, Spark o Flink.

Este diagrama de flujo del sitio web de Google explica cómo elegir uno sobre el otro.

https://cloud.google.com/dataflow/images/flow-vs-proc-flowchart.svg

Más detalles están disponibles en el siguiente enlace.
https://cloud.google.com/dataproc/#fast--scalable-data-processing


La misma razón por la que Dataproc ofrece Hadoop y Spark: a veces un modelo de programación es el mejor ajuste para el trabajo, a veces el otro. Asimismo, en algunos casos, la mejor opción para el trabajo es el modelo de programación Apache Beam, ofrecido por Dataflow.

En muchos casos, una consideración importante es que uno ya tiene un código base escrito contra un marco particular, y uno solo quiere implementarlo en Google Cloud, por lo que incluso si, por ejemplo, el modelo de programación de Beam es superior a Hadoop, alguien con un muchos de los códigos de Hadoop aún pueden elegir Dataproc por el momento, en lugar de volver a escribir su código en Beam para ejecutarse en Dataflow.

Las diferencias entre los modelos de programación de Spark y Beam son bastante grandes, y hay muchos casos de uso donde cada uno tiene una gran ventaja sobre el otro. Consulte https://cloud.google.com/dataflow/blog/dataflow-beam-and-spark-comparison .


Sí, Cloud Dataflow y Cloud Dataproc se pueden usar para implementar soluciones de almacenamiento de datos ETL.

Puede encontrar una descripción general de por qué cada uno de estos productos existe en los artículos de Soluciones de Big Data de la Plataforma Cloud de Google .

Comida rápida:

  • Cloud Dataproc le proporciona un clúster Hadoop, en GCP, y acceso a herramientas del ecosistema Hadoop (por ejemplo, Apache Pig, Hive y Spark); Esto tiene un gran atractivo si ya está familiarizado con las herramientas de Hadoop y tiene trabajos de Hadoop.
  • Cloud Dataflow le proporciona un lugar para ejecutar trabajos basados ​​en Apache Beam , en GCP, y no necesita abordar aspectos comunes de la ejecución de trabajos en un clúster (por ejemplo, trabajo de balanceo o escala del número de trabajadores para un trabajo; de forma predeterminada, esto se administra automáticamente para usted, y se aplica tanto a lotes como a transmisión por secuencias); esto puede llevar mucho tiempo en otros sistemas
    • Apache Beam es una consideración importante; Los trabajos Beam están diseñados para ser transportables a través de "corredores", que incluyen Cloud Dataflow, y le permiten concentrarse en su cálculo lógico, en lugar de cómo funciona un "corredor": en comparación, al crear un trabajo Spark, su código está vinculado Al corredor, a Spark, y cómo funciona ese corredor.
    • Cloud Dataflow también ofrece la posibilidad de crear trabajos basados ​​en "plantillas", lo que puede ayudar a simplificar las tareas comunes donde las diferencias son valores de parámetros.