返回折叠的详细信息

正在计算什么?

ParDo
GroupByKey
Flatten
Combine
组合转换
侧输入
源 API
指标
有状态处理
Google Cloud DataflowApache FlinkApache Spark (基于 RDD/DStream)Apache Spark 结构化流 (基于数据集)Apache SamzaApache NemoHazelcast JetTwister2Python Direct FnRunnerGo Direct Runner

是:完全支持


批处理模式使用较大的捆绑大小。流模式使用较小的捆绑大小。

是:完全支持


ParDo 本身,作为使用 UDF 的按元素转换,在 Flink 中完全支持批处理和流处理。

是:完全支持


ParDo 将按元素转换应用为 Spark FlatMapFunction。

部分:在批处理模式中完全支持


ParDo 将按元素转换应用为 Spark FlatMapFunction。

是:完全支持


使用按元素转换支持。

是:完全支持


是:完全支持


是:完全支持




是:完全支持


是:完全支持


使用 Flink 的 keyBy 进行键分组。在流处理中按窗口分组(创建窗格)时,Flink 运行器使用 Beam 代码。这保证了对所有窗口化和触发机制的支持。

部分:在批处理模式中完全支持


使用 Spark 的 <tt>groupByKey</tt>。在流模式下使用多个触发器触发的 GroupByKey 正在开发中。

部分:在批处理模式中完全支持


使用 Spark 的 <tt>groupByKey</tt>。

是:完全支持


使用 Samza 的 partitionBy 进行键分组,并使用 Beam 的逻辑进行窗口聚合和触发。

是:完全支持


是:完全支持


是:完全支持




是:完全支持


是:完全支持


是:完全支持


部分:在批处理模式中完全支持


一些特殊情况,例如对空集合进行扁平化,尚不支持。

是:完全支持


是:完全支持


是:完全支持


是:完全支持




是:高效执行


是:完全支持


对批处理和流处理使用组合器进行预聚合。

是:完全支持


使用 Spark 的 <tt>combineByKey</tt> 和 <tt>aggregate</tt> 函数。

部分:在批处理模式中完全支持


使用 Spark 的 <tt>Aggregator</tt> 和 agg 函数

是:完全支持


使用组合器进行高效的预聚合。

是:完全支持


批处理模式使用预聚合

是:完全支持


批处理模式使用预聚合

是:完全支持




部分:通过内联支持


目前,组合转换在执行过程中会内联。结构后来会从名称中重新创建,但其他转换级信息(如果添加到模型中)将丢失。

部分:通过内联支持


部分:通过内联支持


部分:仅在批处理模式下通过内联支持


部分:通过内联支持


是:完全支持


部分:通过内联支持


部分:通过内联支持




是:流处理中存在一些大小限制


批处理模式支持分布式实现,但流模式可能会强制执行一些大小限制。两种模式都无法将查找直接推送到基于键的源中。

是:流处理中存在一些大小限制


批处理模式支持分布式实现,但流模式可能会强制执行一些大小限制。两种模式都无法将查找直接推送到基于键的源中。

是:完全支持


使用 Spark 的广播变量。在流模式下,侧输入可能会更新,但仅限于微批次之间。

部分:在批处理模式中完全支持


使用 Spark 的广播变量。

是:完全支持


使用 Samza 的广播运算符来分发侧输入。

是:完全支持


部分:存在限制


仅当侧输入源是有限的并且窗口化使用全局窗口时才支持

是:完全支持




是:完全支持


支持包括自动调优功能 (https://cloud.google.com/dataflow/service/dataflow-service-desc#autotuning-features)。

是:完全支持


是:完全支持


部分:仅限有限源


在微批处理模式下使用 Spark 的 DatasourceV2 API(Spark 中的持续流模式被标记为实验性,不支持聚合)。

是:完全支持


是:完全支持


是:完全支持


是:完全支持




部分


不支持 Gauge 指标。支持所有其他指标类型。

部分:支持所有指标类型。


仅支持尝试值。指标没有提交值。

部分:支持所有指标类型。


仅支持尝试值。指标没有提交值。

部分:在批处理模式下支持所有指标类型。


仅支持尝试值。指标没有提交值。

部分:支持 Counter 和 Gauge。


仅支持尝试值。指标没有提交值。

否:未实现


部分:支持所有指标类型,包括批处理和流模式。


不区分提交值和尝试值。

否:未实现




部分:非合并窗口


支持非合并窗口的状态。MapState、SetState 和 MultimapState 状态类型在以下情况下受支持:不使用 Streaming Engine 的 Java 管道;使用 Streaming Engine 且 Java SDK 版本为 2.58.0 或更高版本的 Java 管道。对于使用 Runner v2 的管道,不支持 SetState、MapState 和 MultimapState。

部分:非合并窗口


支持非合并窗口的状态。SetState 和 MapState 尚未支持。

部分:在批处理模式下完全支持


否:未实现


部分:非合并窗口


状态由 rocksDb KV 存储或内存中哈希映射支持,并使用变更日志持久化。

否:未实现


部分:非合并窗口


否:未实现




最后更新于 2024/10/31

您找到了您要找的一切吗?

所有内容都实用且清晰吗?您想更改什么内容吗?请告诉我们!