Interface ExecutionContext

    • Method Detail

      • getFileClient

        FileClient getFileClient()
        Returns the file client to be used within the graph

        The resulting client is initially instrumented using the monitoring context returned from getIOMonitor(). Therefore file I/O statistics will be collected by default on any file opened using the client.

        Specified by:
        getFileClient in interface MetadataContext
        Returns:
        the file client to be used for all file access
      • getPartitionInfo

        PartitionInstanceInfo getPartitionInfo()
        Returns partition id information for the partition being executed. Most operators should not need to call this method since their output will tend to be a function of the input. This is commonly used for I/O operators which, for example, must chose the output file name based on the partition ID.
        Returns:
        partition id information for the partition being executed.
      • getInputPort

        PhysicalInputPort getInputPort​(LogicalPort logicalPort)
        Returns the physical port for the given logical port. Note that operators should generally not call this method directly. Rather they should use one of the type-safe/convenience methods on the various subclasses of LogicalPort. For example:
            //get the physical port for the "input" RecordPort
            input.getInput(ctx)
         
        Parameters:
        logicalPort - the logical input port
        Returns:
        the physical port
      • getInputPort

        PhysicalInputPort getInputPort​(LogicalPort logicalPort,
                                       int copyNumber)
        Returns the physical port for the given logical port. This is a rarely-used method, for processes that need multiple readers for a given input. Note that operators should generally not call this method directly. Rather they should use one of the type-safe/convenience methods on the various subclasses of LogicalPort. For example:
            //get the physical port for the "input" RecordPort
            input.getInput(ctx,copyNumber)
         
        Parameters:
        logicalPort - the logical input port
        copyNumber - the copy number
        Returns:
        the physical port
      • getOutputPort

        PhysicalOutputPort getOutputPort​(LogicalPort logicalPort)
        Returns the physical port for the given logical port. Note that operators should generally not call this method directly. Rather they should use one of the type-safe/convenience methods on the various subclasses of LogicalPort. For example:
            //get the physical port for the "output" RecordPort
            output.getOutput(ctx)
         
        Parameters:
        logicalPort - the logical output port
        Returns:
        the physical port
      • getIOMonitor

        IOMonitoringContext getIOMonitor()
        Returns a monitoring context to allow I/O operators to report statistics.
        Returns:
        a monitoring context
      • getNodeAllocation

        NodeAllocationPlan getNodeAllocation()
        Returns the initial node allocation for the graph to which this operator belongs.
        Returns:
        the node allocation
      • allocateTemporaryStorage

        Path allocateTemporaryStorage()
        Allocates space for storing a temporary file or files. The returned path is guaranteed to be unique and can be safely used as a file or as a base path for temporary files. Files so created are stored within the temporary storage locations specified by the engine configuration.

        The temporary storage is not valid for use outside the scope of the ExecutableOperator.execute(ExecutionContext) method. The caller is responsible for cleaning up any files written in the allocated location, even on failure of the executing graph. It is therefore recommended to wrap the using code in the scope of a try-finally block.

        Returns:
        a path to use as the base location for any temporary files
      • getDistributedCallableContext

        DistributedCallableContext getDistributedCallableContext()
        Public only as a matter if implementation; operator authors should not invoke this method.

        Returns the distributed callable context in which we are being executed.

        Returns:
        the distributed context
      • getStatisticsRegistry

        StatisticsRegistry getStatisticsRegistry()
        Returns a statistics registry that can be used for registering custom statistics.
        Returns:
        the statistics registry.
      • newSubgraph

        LogicalGraph newSubgraph()
        Creates a new subgraph to use within this execution context. The subgraph will have its default engine config set to the same value returned by MetadataContext.getEngineConfig(). Statistics calculated by the subgraph will be aggregated and will appear in the statistics of this operator.
        Returns:
        a new subgraph
      • newSubgraph

        LogicalGraph newSubgraph​(String name)
        Creates a new subgraph to use within this execution context. The subgraph will have its default engine config set to the same value returned by MetadataContext.getEngineConfig(). Statistics calculated by the subgraph will be aggregated and will appear in the statistics of this operator.
        Parameters:
        name - the name of the subgraph
        Returns:
        a new subgraph
      • getRecordInputSelector

        RecordInputSelector getRecordInputSelector​(List<RecordInput> inputs)
        Creates a selector over the specified inputs. This selector can be used to wait for data to arrive on any of the input ports.
        Parameters:
        inputs - the set of input ports to register with the selector
        Returns:
        a new selector for waiting on inputs