我正在使用Google数据流来实施ETL数据仓库解决方案。
考虑到谷歌云产品,似乎DataProc也可以做同样的事情。
DataProc似乎比DataFlow便宜一点。
有没有人知道DataFlow上DataFlow的优缺点
为什么谷歌同时提供?
答案 0 :(得分:25)
是的,Cloud Dataflow和Cloud Dataproc都可用于实施ETL数据仓库解决方案。
可以在Google Cloud Platform Big Data Solutions Articles
中找到有关每种产品存在的原因的概述快速消息:
答案 1 :(得分:10)
在尝试在Dataproc和Dataflow之间进行选择时,要考虑以下三个主要问题
配置
Dataproc-手动配置群集
数据流-无服务器。自动配置群集
Hadoop依赖项
如果处理过程与Hadoop生态系统中的工具有任何依赖关系,则应使用Dataproc。
可移植性
数据流/束在处理逻辑和底层执行引擎之间提供了清晰的分隔。这有助于在支持Beam运行时的不同执行引擎之间实现可移植性,即同一管道代码可以在Dataflow,Spark或Flink上无缝运行。
此Google网站上的流程图说明了如何选择一个。
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)