web-dev-qa-db-fra.com

Quelle est la différence entre Google Cloud Dataflow et Google Cloud Dataproc?

J'utilise Google Data Flow pour implémenter une solution de data warehouse ETL.

Si l’on se penche sur les offres de Google Cloud, il semble que DataProc puisse également faire la même chose.

Il semble également que DataProc soit un peu moins cher que DataFlow.

Est-ce que quelqu'un connaît les avantages/inconvénients de DataFlow par rapport à DataProc?

Pourquoi google propose-t-il les deux?

27
KosiB

Oui, Cloud Dataflow et Cloud Dataproc peuvent tous deux être utilisés pour mettre en œuvre des solutions de stockage de données ETL.

Vous trouverez un aperçu de la raison pour laquelle chacun de ces produits existe dans Google Articles sur les solutions Big Data pour plates-formes en nuage

A emporter rapidement:

  • Cloud Dataproc vous fournit un cluster Hadoop, sur GCP, et un accès aux outils Hadoop-écosystémiques (par exemple, Apache Pig, Hive et Spark); cela a un fort attrait si vous connaissez déjà les outils Hadoop et avez des emplois Hadoop
  • Cloud Dataflow vous fournit un emplacement pour l'exécution de travaux basés sur Apache Beam , sur GCP, et vous n'avez pas besoin de traiter les aspects courants de l'exécution de travaux sur un cluster (par exemple, l'équilibrage du travail ou la mise à l'échelle du nombre de travailleurs). pour un travail; par défaut, cela est automatiquement géré pour vous et s'applique à la fois au traitement par lots et à la diffusion en continu) - cela peut prendre beaucoup de temps sur d'autres systèmes
    • Apache Beam est une considération importante. Les travaux de faisceau sont conçus pour être portables entre plusieurs "coureurs", qui incluent Cloud Dataflow, et vous permettent de vous concentrer sur votre calcul logique plutôt que sur le fonctionnement d'un "coureur". En comparaison, lors de la création d'un Spark travail, votre code est lié au coureur, Spark, et à son fonctionnement
    • Cloud Dataflow offre également la possibilité de créer des travaux basés sur des "modèles", ce qui peut aider à simplifier les tâches courantes dans lesquelles les différences sont des valeurs de paramètres.
28
Andrew Mo

Voici trois points principaux à prendre en compte lorsque vous essayez de choisir entre Dataproc et Dataflow.

  • Approvisionnement
    Dataproc - Provisionnement manuel des clusters
    Dataflow - Serverless. Provisionnement automatique des clusters

  • Dépendances Hadoop
    Dataproc doit être utilisé si le traitement a des dépendances par rapport aux outils de l'écosystème Hadoop.

  • Portabilité
    Dataflow/Beam établit une séparation claire entre la logique de traitement et le moteur d’exécution sous-jacent. Cela facilite la portabilité entre différents moteurs d’exécution prenant en charge le moteur d’exécution Beam, c’est-à-dire que le même code de pipeline peut s’exécuter de manière transparente sur Dataflow, Spark ou Flink.

Cet organigramme du site Web Google explique comment choisir l’un sur l’autre.

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

Plus de détails sont disponibles dans le lien ci-dessous
https://cloud.google.com/dataproc/#fast--scalable-data-processing

13

Même raison que Dataproc offrant à la fois Hadoop et Spark: parfois, un modèle de programmation convient le mieux à l’emploi, parfois l’autre. De même, dans certains cas, le modèle de programmation Apache Beam, proposé par Dataflow, constitue la meilleure solution.

Dans de nombreux cas, il est très important de prendre en compte le fait que l'on dispose déjà d'une base de code écrite contre un framework particulier et que l'on souhaite simplement le déployer sur Google Cloud. Ainsi, même si, par exemple, le modèle de programmation Beam est supérieur à Hadoop, quelqu'un possédant un Beaucoup de codes Hadoop peuvent toujours choisir Dataproc pour le moment, plutôt que de réécrire leur code sur Beam pour qu'il s'exécute sur Dataflow.

Les différences entre les modèles de programmation Spark et Beam) sont assez importantes et il existe de nombreux cas d'utilisation dans lesquels chacun présente un avantage considérable par rapport à l'autre. Voir https: // cloud .google.com/dataflow/blog/dataflow-beam-and-spark-compare .

5
jkff

Cloud Dataproc et Cloud Dataflow peuvent tous deux être utilisés pour le traitement des données, et leurs capacités de traitement par lots et de diffusion en continu se chevauchent. Vous pouvez choisir le produit le mieux adapté à votre environnement.

Cloud Dataproc convient aux environnements dépendant de composants Big Data Apache spécifiques: - Outils/packages - Pipelines - Ensembles de compétences de ressources existantes

Cloud Dataflow est généralement l'option privilégiée pour les environnements de champs verts: - Moins de surcharge opérationnelle - Une approche unifiée pour le développement de pipelines par lots ou en continu - Utilise Apache Beam - Prise en charge Portabilité du pipeline via Cloud Dataflow, Apache Spark et Apache Flink en tant que runtimes.

Voir plus de détails ici https://cloud.google.com/dataproc/

Comparaison des prix:

Si vous souhaitez calculer et comparer le coût de davantage de ressources GCP, veuillez vous référer à cette URL https://cloud.google.com/products/calculator/

0
Le Khiem