官术网_书友最值得收藏!

  • Learning Apache Apex
  • Thomas Weise Munagala V. Ramanath David Yan Kenneth Knowles
  • 276字
  • 2021-07-02 22:38:41

IdleTimeHandler

Sometimes, an operator is idle, which means there is no work to do because no tuples are available on the input stream for processing (or in the case of an input operator, no data is produced on the output port(s)). Some operators could make use of the idle time to do bookkeeping work, such as maintaining caches or other other background processing. Apex provides the IdleTimeHandler interface that operators may implement to use the extra CPU time in the engine managed operator thread.

  • handleIdleTime: This is called whenever the engine detects that the operator isn't doing any processing. If the implementation also doesn't have any work to do, it should block the call for a short duration to prevent a busy loop, as the method is called again and again until the operator is no longer idle.

This section was an introduction to developing custom operators. Note that, in many cases, it isn't necessary to develop a complete custom operator from scratch. Often it is sufficient to extend an existing operator with a few overrides or configure a generic operator with the desired behavior. An example would be the FunctionOperator that accepts a user defined function (equivalent of Java 8 Lambda Expression) as property. It eliminates the needs to write boilerplate code that deals with operator ports and life cycle methods, which are in many cases not required to express the business logic. The high-level Java API, which was introduced in the first chapter, provides the same benefit of concise specification of custom logic for those cases where the predefined primitive functions are sufficient.

For more information about custom operator development, please refer to http://apex.apache.org/docs/apex/operator_development/#developing-custom-operators.

主站蜘蛛池模板: 武安市| 金堂县| 永平县| 安庆市| 太原市| 巍山| 嘉黎县| 西林县| 东乡县| 屏东市| 修文县| 南乐县| 北京市| 晋江市| 平果县| 孟村| 铜山县| 大埔区| 青河县| 大埔县| 横山县| 广平县| 淮北市| 潍坊市| 梓潼县| 巧家县| 兰州市| 津市市| 美姑县| 吉木萨尔县| 彭州市| 中江县| 威信县| 新竹市| 玉门市| 定结县| 昭平县| 新乡市| 郧西县| 洪湖市| 承德县|