- 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.
- Unreal Engine:Game Development from A to Z
- 大數據戰爭:人工智能時代不能不說的事
- Hands-On Artificial Intelligence on Amazon Web Services
- Seven NoSQL Databases in a Week
- 實時流計算系統設計與實現
- Natural Language Processing Fundamentals
- Visual C# 2008開發技術實例詳解
- Blender Compositing and Post Processing
- ESP8266 Home Automation Projects
- 大數據驅動的設備健康預測及維護決策優化
- 網絡布線與小型局域網搭建
- Hands-On SAS for Data Analysis
- 運動控制系統(第2版)
- Mastering MongoDB 4.x
- 細節決定交互設計的成敗