blob: d254a6a99eb38f7e5322503a81589ed8716cdf8e [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.tez.runtime.api;
import org.apache.hadoop.classification.InterfaceAudience.Public;
import org.apache.hadoop.yarn.api.records.ApplicationId;
import org.apache.tez.dag.api.UserPayload;
/**
* Context through which the OutputCommitter can access all the relevant
* information that it needs. This interface is not supposed to be implemented
* by users
*/
@Public
public interface OutputCommitterContext {
/**
* Get the {@link org.apache.hadoop.yarn.api.records.ApplicationId}
* @return the {@link org.apache.hadoop.yarn.api.records.ApplicationId}
*/
public ApplicationId getApplicationId();
/**
* Get the current DAG Attempt Number
* @return DAG Attempt Number
*/
public int getDAGAttemptNumber();
/**
* Get the name of the DAG
* @return the DAG name
*/
public String getDAGName();
/**
* Get the name of the Vertex
* @return Vertex Name
*/
public String getVertexName();
/**
* Get the name of the Output
* @return Output Name
*/
public String getOutputName();
/**
* Get the User Payload for the Output
* @return User Payload
*/
public UserPayload getOutputUserPayload();
/**
* Get the User Payload for the OutputCommitter
* @return User Payload
*/
public UserPayload getUserPayload();
/**
* Get Vertex Index in the DAG
* @return Vertex index
*/
public int getVertexIndex();
}