parameters: (pcollection, zero, aggregate_fn, combine_fn, *side_inputs, **options)
return_statement: return bigflow.transform_impls.aggregate.aggregate(pcollection,
                                                     zero,
                                                     aggregate_fn,
                                                     combine_fn,
                                                     *side_inputs, **options)
docstring: 将给定的PCollection按照初始值、初段聚合方法和汇总方法聚合为PObject
  
      假设输入类型I，输出类型为O，则zero、aggregate_fn、combine_fn的期望签名为:
  
      zero:  O或zero() => O
  
      aggregate_fn:  aggregate_fn(O, I) => O  (aggregate_fn的第一个参数允许被修改)
  
      combine_fn:  combine_fn(O, O) => O  (combine_fn的第一个参数允许被修改)
  
  
      在执行时aggregate会把输入pcollection先切分成许多个分片，然后对每个分片使用zero生成一个O类型的初始值。
  
      随后，在每个分片上，持续调用aggregate_fn，将分片上全部的数据聚合为一个O类型的值。
  
      最后，会再将所有分片上生成的那些O类型的值汇聚到一起，使用combine_fn最终聚合到一起。
  
      分片的规则用户不应作任何假设。
  
  
      Args:
        pcollection (PCollection):  输入PCollection
        zero (value or callable):  初始值，或是一个返回初始值的方法。
        aggregate_fn (callable):  初段聚合方法。该方法需要两个参数。
        combine_fn (callable):  汇总方法
        *side_inputs:  参与运算的SideInputs
        **options:  可配置选项
  
      Returns:
        PObject:  聚合结果
  
      >>> from bigflow import transforms
      >>> _p = _pipeline.parallelize(["viva", "la", "vida"])
      >>> transforms.aggregate(_p, 0, lambda x, y: x + len(y), lambda x, y: x + y).get()  # sum words length
      10
docstring_summary: 将给定的PCollection按照初始值、初段聚合方法和汇总方法聚合为PObject
docstring_tokens: 将给定的PCollection按照初始值、初段聚合方法和汇总方法聚合为PObject
function: def aggregate(pcollection, zero, aggregate_fn, combine_fn, *side_inputs, **options):
      """
      将给定的PCollection按照初始值、初段聚合方法和汇总方法聚合为PObject
  
      假设输入类型I，输出类型为O，则zero、aggregate_fn、combine_fn的期望签名为:
  
      zero:  O或zero() => O
  
      aggregate_fn:  aggregate_fn(O, I) => O  (aggregate_fn的第一个参数允许被修改)
  
      combine_fn:  combine_fn(O, O) => O  (combine_fn的第一个参数允许被修改)
  
  
      在执行时aggregate会把输入pcollection先切分成许多个分片，然后对每个分片使用zero生成一个O类型的初始值。
  
      随后，在每个分片上，持续调用aggregate_fn，将分片上全部的数据聚合为一个O类型的值。
  
      最后，会再将所有分片上生成的那些O类型的值汇聚到一起，使用combine_fn最终聚合到一起。
  
      分片的规则用户不应作任何假设。
  
  
      Args:
        pcollection (PCollection):  输入PCollection
        zero (value or callable):  初始值，或是一个返回初始值的方法。
        aggregate_fn (callable):  初段聚合方法。该方法需要两个参数。
        combine_fn (callable):  汇总方法
        *side_inputs:  参与运算的SideInputs
        **options:  可配置选项
  
      Returns:
        PObject:  聚合结果
  
      >>> from bigflow import transforms
      >>> _p = _pipeline.parallelize(["viva", "la", "vida"])
      >>> transforms.aggregate(_p, 0, lambda x, y: x + len(y), lambda x, y: x + y).get()  # sum words length
      10
  
  
      """
      import bigflow.transform_impls.aggregate
      return bigflow.transform_impls.aggregate.aggregate(pcollection,
                                                     zero,
                                                     aggregate_fn,
                                                     combine_fn,
                                                     *side_inputs, **options)
function_tokens: def aggregate ( pcollection , zero , aggregate_fn , combine_fn , * side_inputs , * * options ) : import bigflow . transform_impls . aggregate return bigflow . transform_impls . aggregate . aggregate ( pcollection , zero , aggregate_fn , combine_fn , * side_inputs , * * options )