In this chapter, we learned about the Operation
class hierarchy, how operations are marked by interfaces, and also about operation lifecycle and calling sequences. We also looked at how Tuple
and TupleEntry
objects are supplied by pipes and used by operations, and how operations can use Context
objects to store a state. Lastly, we looked at the isSafe()
method and how it is used to prevent the same record from being processed more than once.
In the next chapter, armed with our current understanding of operations, we will learn how we can extend our Cascading application's functionality by creating custom operations.