The Configurable interface indicates that the class can be instantiated by reflection. And it needs to take some configuration parameters to configure itself.
The TableCreationHook is responsible for preparing the location to store the content of the cached table and map the table name to fields in the configuration so that the TableSinkFactory/TableSourceFactory can understand.
The TableCleanupHook is responsible for deleting the content of the cached tables and reclaim the space.