Google Cloud Dataflow和Google Cloud Dataproc有什么区别?

时间:2017-09-26 22:36:21

标签: google-cloud-dataflow google-cloud-dataproc

我正在使用Google数据流来实施ETL数据仓库解决方案。

考虑到谷歌云产品,似乎DataProc也可以做同样的事情。

DataProc似乎比DataFlow便宜一点。

有没有人知道DataFlow上DataFlow的优缺点

为什么谷歌同时提供?

5 个答案:

答案 0 :(得分:25)

是的,Cloud Dataflow和Cloud Dataproc都可用于实施ETL数据仓库解决方案。

可以在Google Cloud Platform Big Data Solutions Articles

中找到有关每种产品存在的原因的概述

快速消息:

  • Cloud Dataproc为您提供GCP上的Hadoop集群,以及对Hadoop生态系统工具(例如Apache Pig,Hive和Spark)的访问权限;如果您已经熟悉Hadoop工具并拥有Hadoop作业
  • ,这具有很强的吸引力
  • Cloud Dataflow为您提供了在GCP上运行基于Apache Beam的作业的位置,您无需解决群集上正在运行的作业的常见问题(例如,平衡工作或缩放工作人员数量)一项工作;默认情况下,这是为您自动管理的,并适用于批处理和流式传输) - 这在其他系统上非常耗时
    • Apache Beam是一个重要的考虑因素; Beam作业旨在通过“Runners”(包括Cloud Dataflow)移植,并使您能够专注于逻辑计算,而不是“跑步者”如何工作 - 相比之下,在创作Spark作业时,您的代码受到约束对跑步者,Spark,以及跑步者如何运作
    • Cloud Dataflow还提供基于“模板”创建作业的功能,这有助于简化差异为参数值的常见任务

答案 1 :(得分:10)

在尝试在Dataproc和Dataflow之间进行选择时,要考虑以下三个主要问题

  • 配置
    Dataproc-手动配置群集
    数据流-无服务器。自动配置群集

  • Hadoop依赖项
    如果处理过程与Hadoop生态系统中的工具有任何依赖关系,则应使用Dataproc。

  • 可移植性
    数据流/束在处理逻辑和底层执行引擎之间提供了清晰的分隔。这有助于在支持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

答案 2 :(得分:5)

与Dataproc同时提供Hadoop和Spark的原因相同:有时一种编程模型最适合工作,有时候另一种。同样,在某些情况下,最适合这项工作的是由Dataflow提供的Apache Beam编程模型。

在许多情况下,一个重要的考虑因素是,已经有一个针对特定框架编写的代码库,而且只想将其部署在Google Cloud上,所以即使Beam编程模型优于Hadoop,拥有大量Hadoop代码的人可能仍会暂时选择Dataproc,而不是在Beam上重写他们的代码以在Dataflow上运行。

Spark和Beam编程模型之间的差异非常大,并且有很多用例,每个用例都比另一个具有很大的优势。见https://cloud.google.com/dataflow/blog/dataflow-beam-and-spark-comparison

答案 3 :(得分:0)

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/

答案 4 :(得分:0)

另一个重要的区别是:

Cloud Dataproc:

<块引用>

在已知大小的数据集中进行数据挖掘和分析

云数据流:

<块引用>

管理不可预测大小的数据集

A table-based comparison of Dataproc versus Dataflow:

see