对比原生的MapReduce,Google Cloud Dataflow进行了改进。(原生对比度是什么意思)(对比mapreduce说明spark技术特点)

访客 127 0

这段话的转发链接是:http://suanfazu.com/t/fen-bu-shi-ji-suan-kuang-jia-google-cloud-dataflow/257


Google Cloud Dataflow是一种集成了多种内部技术的方法,用于构建、管理和优化复杂数据处理流水线。其中包括Flume,用于高效并行化处理数据,并具有良好的容错机制;以及MillWheel,用于流式处理。目前Dataflow仅提供Java版本的API(实际上Flume本身提供了Java/C++/Python多种接口,而MillWheel也提供了Java/C++的API)。

相较于原生的map-reduce模型,Dataflow具备几个优势:

  1. 可以构建复杂的流程,为了支持这一点,我们可以引用Google云平台产品营销总监Brian Goldfarb的观点。

    Cloud Dataflow是一种多功能的数据处理工具,既可以处理批量数据,也可以处理流数据。举个例子来说,在全球性事件(例如世界杯)中,我们可以利用Cloud Dataflow实时分析数百万条Twitter数据。整个流程按照不同的阶段进行:首先是读取tweet的阶段,接下来是标签提取阶段,然后进行基于情感(正面、负面或其他方面)的tweet分类,并在下一个阶段进行关键词过滤等操作。相比之下,Map/Reduce这种较早期用于大数据处理的模型已经无法胜任实时数据处理任务,并且难以应用到如此复杂和长久的数据流水线上。

  2. 不需手工配置和管理MapReduce集群。自动进行代码优化和资源调度,使得开发者的主要精力可以放在业务逻辑本身
    对比原生的MapReduce,Google Cloud Dataflow进行了改进。(原生对比度是什么意思)(对比mapreduce说明spark技术特点)-第1张图片-谷歌商店上架

  3. 我们提供无缝切换功能,支持从批处理到流式处理模式的转换。举个例子,假设我们想根据用户在Twitter上生成的内容来实现一个自动补全功能,即为hashtags添加完整性。

    Example: Auto completing hashtagsPrefixSuggestionsar#argentina, #arugularocks, #argylesocksarg#argentina, #argylesocks, #argonautsarge#argentina, #argentum, #argentine
  4. Dashboard:
    还可以在developer console中了解流水线中每个环节执行的情况,每个流程框基本对应着一行代码
    对比原生的MapReduce,Google Cloud Dataflow进行了改进。(原生对比度是什么意思)(对比mapreduce说明spark技术特点)-第2张图片-谷歌商店上架

  5. 生态系统:
    BigQuery作为存储系统是Dataflow的一个补充,经过Dataflow清洗和处理过的数据,可以在BigQuery中存下来,同时Dataflow也可以读取BigQuery以进行表连接等操作。如果想在Dataflow上使用一些开源资源(比如说Spark中的机器学习库),也是很方便的
    对比原生的MapReduce,Google Cloud Dataflow进行了改进。(原生对比度是什么意思)(对比mapreduce说明spark技术特点)-第3张图片-谷歌商店上架
    为了配合Dataflow,Google Cloud Platform还为开发者提供了一系列工具,包括云保存,云调试,云追踪和云监控。

比较

  1. Cascading/Twitter Scalding
    • 传统Map-reduce只能处理单一的流,而Dataflow可以构建整个pipeline,自动优化和调度,Dataflow乍一听感觉非常像Hadoop上的Cascading(Java)/Scalding(Scala)。
    • 它们的编程模型很像,Dataflow也可以很方便做本地测试,可以传一个模拟集合,在上面去迭代计算结果,这一点是传统Map-reduce望尘莫及的。
  2. Twitter Summingbird是一种令人兴奋的技术,它将批处理和流处理无缝连接在一起。这个想法让我联想到了将Scalding和Strom(Scala编程语言)无缝连接起来的twittersummingbird。

  3. Spark:

    • Spark也有可以构建复杂的pipeline做一代码优化和任务调度的好处,但目前还需要程序员来配置资源分配。
    • Spark在设计分布式数据集API时,模拟了Scala集合的操作API,使得额外的语法学习成本比Dataflow要低。
    • 不过Dataflow似乎并没有提内存计算的事儿,而这一点可以说是Spark最本质的特征。不过它支持将Spark作为Open Source工具,连入Cloud框架作为补充。
    • 分布式计算中除了Batch和Streaming,Graph也是一个重要的问题,Spark在这方面有GraphX,Dataflow在未来也会将处理Graph处理(Pregel)这块整合进去。

资源

  • Sneak peek: Google Cloud Dataflow, a Cloud-native data processing service
  • Google I/O 2014 - The dawn of "Fast Data"1 (国内用户下载)
  • Google Cloud Dataflow 简单理解1
  • Cloud Dataflow :云计算时代的新计算模式1
  • Google Announces Cloud Dataflow Beta at Google I/O
  • Google Launches Cloud Dataflow, A Managed Data Processing Service1
  • Mapreduce successor google cloud dataflow is a game changer for hadoop thunder
  • FlumeJava: Easy, Efficient Data-Parallel Pipelines,PLDI,2010
  • MillWheel: Fault-Tolerant Stream Processing at Internet Scale,Very Large Data Bases (2013), pp. 734-746

标签: 谷歌商店上架 关键词 对比度

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~