Counter

bigflow.counter.increase(name, increment=1)

累加name对应的counter,累加值为increment

参数:
  • name (str) -- counter名称,只接受str类型
  • increment (int) -- 累加值,只接受正数
Raises:

error.BigflowPlanningException -- 此函数仅允许在 Bigflow变换 的用户自定义方法(UDF)中调用,否则抛出此异常

注解

  1. counter 具有 group 的概念, 如果 name 格式为"group1|name1",则 group1 为 counter 所在 group; 若不包含, 则默认的 group 为 'Flume'
  2. counter 属于一个 Bigflow Pipeline,并在 Pipeline 多次运行时累加,若需要将 counter 清零,请使用 Pipeline 的 reset_counterreset_all_counters 方法 当前实现中, reset_counter 是个全局操作. reset_counter 将会重置所有 pipeline 中定义的 counter. 如有多 pipeline 重置 counter 的需求, 请为每个 pipeline 设置不同的 counter idenfier
>>> from bigflow import base, counter
>>> _pipeline = base.Pipeline.create("LOCAL")
>>> _p = _pipeline.parallelize([3, 7, 1])
>>> def all_num_counting(record):
...     counter.increase("all_num")
...     return record
...
>>> _p = _p.map(all_num_counting)
>>> _p.get()