70 votes

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

J'utilise Google Data Flow pour implémenter une solution d'entrepôt de données ETL.

En regardant l'offre 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.

Quelqu'un connaît-il les avantages / inconvénients de DataFlow sur DataProc

Pourquoi Google propose-t-il les deux?

71voto

Andrew Mo Points 713

Oui, Nuage de Flux de données et le Cloud Dataproc peuvent tous deux être utilisés pour mettre en œuvre ETL solutions d'entreposage de données.

Un aperçu de la raison pour laquelle chacun de ces produits peut être trouvé dans Google Cloud Platform les Solutions Big Data Articles

Rapide plats à emporter:

  • Cloud Dataproc vous offre un cluster Hadoop sur les BPC, et l'accès à Hadoop-écosystème d'outils (par exemple Apache Pig, Hive, et l'Allumage), ce qui a un fort attrait si vous êtes déjà familier avec les outils Hadoop et ont Hadoop emplois
  • Nuage de Flux de données vous donne un endroit pour exécuter Apache Faisceau en fonction des emplois, sur les BPC, et vous n'avez pas besoin de régler les aspects des travaux en cours d'exécution sur un cluster (par exemple équilibre entre le travail, ou l'extension du nombre de travailleurs pour un emploi; par défaut, c'est géré automatiquement pour vous, et s'applique à la fois batch et en continu) -- cela peut être très coûteuse en temps sur d'autres systèmes
    • Apache Faisceau est une considération importante; Faisceau d'emplois sont destinés à être portable sur les "coureurs" qui comprennent Nuage de Flux de données, et vous permettent de vous concentrer sur votre logique de calcul, plutôt que la façon dont un "runner" fonctionne -- À titre de comparaison, lors de la création d'une Étincelle d'emploi, votre code est lié à la roue, de l'Étincelle, et comment ce coureur de travaux
    • Nuage de Flux de données offre également la possibilité de créer des emplois fondés sur des "modèles", ce qui peut aider à simplifier les tâches courantes où les différences sont les valeurs de paramètre

44voto

Voici les trois principaux points à prendre en considération lors de la tentative de choisir entre Dataproc et des Flux de données

  • Provisionnement
    Dataproc - Manuel de l'approvisionnement de clusters
    Flux De Données Sans Serveur. Provisionnement automatique des clusters

  • Hadoop Dépendances
    Dataproc doit être utilisé si le traitement des dépendances à outils dans l'écosystème Hadoop.

  • La portabilité
    Flux de données/Faisceau fournit une claire séparation entre la logique de traitement et le sous-jacent moteur d'exécution. Cette aide à la portabilité sur les différents moteurs d'exécution de soutien à la Poutre de l'exécution, c'est à dire le même pipeline d'exécution de code à merveille sur les Flux de données, les Étincelles ou les Flink.

Ce diagramme à partir du site web de google explique comment aller sur le choix de l'un sur l'autre.

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

13voto

jkff Points 2939

Pour la même raison que pourquoi Dataproc offre à la fois Hadoop et de la bougie: parfois, un modèle de programmation est le meilleur ajustement pour le travail, parfois l'autre. De même, dans certains cas, la meilleure solution pour le travail, c'est l'Apache Faisceau modèle de programmation, offert par Flux de données.

Dans de nombreux cas, une considération importante est que l'on a déjà une base de code écrites en fonction d'un cadre particulier, et une seule veut déployer sur le Cloud Google, de sorte que même si, par exemple, la Poutre modèle de programmation est supérieure à Hadoop, quelqu'un avec beaucoup de Hadoop code peut toujours choisir Dataproc pour le moment, plutôt que de réécrire leur code sur la Poutre pour s'exécuter sur les Flux de données.

Les différences entre l'Étincelle et l'Faisceau modèles de programmation sont assez grandes, et il y a beaucoup de cas d'utilisation où chacun a un gros avantage sur les autres. Voir https://cloud.google.com/dataflow/blog/dataflow-beam-and-spark-comparison .

4voto

Le Khiem Points 334

Cloud Dataproc et Nuage de Flux de données peuvent être utilisés pour le traitement des données, et il y a chevauchement dans leur lot et de capacités de streaming. Vous pouvez décider quel produit est le mieux adapté à votre environnement.

Cloud Dataproc est bon pour les environnements dépendant des Apache composants big data: - Outils/packages - Pipelines - Ensembles de compétences des ressources existantes

Nuage de Flux de données est généralement l'option préférée pour le champ vert environnements: - Moins de frais d'exploitation - Une approche unifiée pour le développement de batch ou en continu pipelines - Utilise Apache Faisceau - Prend en charge pipeline de la portabilité à travers le Nuage de Flux de données, Apache Spark, et Apache Flink comme runtimes.

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

Comparaison de prix:

Si vous souhaitez calculer et de comparer les coûts de plus de BPC ressources, reportez-vous à cette url https://cloud.google.com/products/calculator/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X