Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
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.hadoop.hive.ql.plan;
 
 import java.util.List;
 import java.util.Map;
 
MapredWork.
 
 @Explain(displayName = "Map Reduce")
 public class MapredWork implements Serializable {
   private static final long serialVersionUID = 1L;
   private String command;
   // map side work
   // use LinkedHashMap to make sure the iteration order is
   // deterministic, to ease testing
 
 
   private LinkedHashMap<StringOperator<? extends Serializable>> aliasToWork;
 
 
   // map<->reduce interface
   // schema of the map-reduce 'key' object - this is homogeneous
   private TableDesc keyDesc;
 
   // schema of the map-reduce 'val' object - this is heterogeneous
   private List<TableDesctagToValueDesc;
 
   private Operator<?> reducer;
 
   private Integer numReduceTasks;
   private Integer numMapTasks;
   private Long minSplitSize;
 
   private boolean needsTagging;
   private boolean hadoopSupportsSplittable;
 
   private String inputformat;
   private boolean gatheringStats;
 
   private String tmpHDFSFileURI;
 
 
   private QBJoinTree joinTree;
 
   private boolean mapperCannotSpanPartns;
 
   public MapredWork() {
   }
 
   public MapredWork(
       final String command,
       final LinkedHashMap<StringArrayList<String>> pathToAliases,
       final LinkedHashMap<StringPartitionDescpathToPartitionInfo,
       final LinkedHashMap<StringOperator<? extends Serializable>> aliasToWork,
       final TableDesc keyDescList<TableDesctagToValueDesc,
       final Operator<?> reducerfinal Integer numReduceTasks,
       final MapredLocalWork mapLocalWork,
       final boolean hadoopSupportsSplittable) {
     this. = command;
     this. = pathToAliases;
     this. = pathToPartitionInfo;
     this. = aliasToWork;
    this. = keyDesc;
    this. = tagToValueDesc;
    this. = reducer;
    this. = numReduceTasks;
    this. = mapLocalWork;
    this. = hadoopSupportsSplittable;
  }
  public String getCommand() {
    return ;
  }
  public void setCommand(final String command) {
    this. = command;
  }
  @Explain(displayName = "Path -> Alias", normalExplain = false)
    return ;
  }
  public void setPathToAliases(
      final LinkedHashMap<StringArrayList<String>> pathToAliases) {
    this. = pathToAliases;
  }
  @Explain(displayName = "Path -> Partition", normalExplain = false)
    return ;
  }
  public void setPathToPartitionInfo(
      final LinkedHashMap<StringPartitionDescpathToPartitionInfo) {
    this. = pathToPartitionInfo;
  }

  

Returns:
the aliasToPartnInfo
    return ;
  }

  

Parameters:
aliasToPartnInfo the aliasToPartnInfo to set
  public void setAliasToPartnInfo(
      LinkedHashMap<StringPartitionDescaliasToPartnInfo) {
    this. = aliasToPartnInfo;
  }
  @Explain(displayName = "Alias -> Map Operator Tree")
  public LinkedHashMap<StringOperator<? extends Serializable>> getAliasToWork() {
    return ;
  }
  public void setAliasToWork(
      final LinkedHashMap<StringOperator<? extends Serializable>> aliasToWork) {
    this. = aliasToWork;
  }

  

Returns:
the mapredLocalWork
  @Explain(displayName = "Local Work")
    return ;
  }

  

Parameters:
mapLocalWork the mapredLocalWork to set
  public void setMapLocalWork(final MapredLocalWork mapLocalWork) {
    this. = mapLocalWork;
  }
  public TableDesc getKeyDesc() {
    return ;
  }
  public void setKeyDesc(final TableDesc keyDesc) {
    this. = keyDesc;
  }
    return ;
  }
  public void setTagToValueDesc(final List<TableDesctagToValueDesc) {
    this. = tagToValueDesc;
  }
  @Explain(displayName = "Reduce Operator Tree")
  public Operator<?> getReducer() {
    return ;
  }
  public void setReducer(final Operator<?> reducer) {
    this. = reducer;
  }
  public Integer getNumMapTasks() {
    return ;
  }
  public void setNumMapTasks(Integer numMapTasks) {
    this. = numMapTasks;
  }

  
If the number of reducers is -1, the runtime will automatically figure it out by input data size. The number of reducers will be a positive number only in case the target table is bucketed into N buckets (through CREATE TABLE). This feature is not supported yet, so the number of reducers will always be -1 for now.
  public Integer getNumReduceTasks() {
    return ;
  }
  public void setNumReduceTasks(final Integer numReduceTasks) {
    this. = numReduceTasks;
  }
  public void addMapWork(String pathString aliasOperator<?> work,
      PartitionDesc pd) {
    ArrayList<StringcurAliases = .get(path);
    if (curAliases == null) {
      assert (.get(path) == null);
      curAliases = new ArrayList<String>();
      .put(pathcurAliases);
      .put(pathpd);
    } else {
      assert (.get(path) != null);
    }
    for (String oneAlias : curAliases) {
      if (oneAlias.equals(alias)) {
        throw new RuntimeException("Multiple aliases named: " + alias
            + " for path: " + path);
      }
    }
    curAliases.add(alias);
    if (.get(alias) != null) {
      throw new RuntimeException("Existing work for alias: " + alias);
    }
    .put(aliaswork);
  }
  public String isInvalid() {
    if ((getNumReduceTasks() >= 1) && (getReducer() == null)) {
      return "Reducers > 0 but no reduce operator";
    }
    if ((getNumReduceTasks() == 0) && (getReducer() != null)) {
      return "Reducers == 0 but reduce operator specified";
    }
    return null;
  }
  public String toXML() {
    Utilities.serializeMapRedWork(thisbaos);
    return (baos.toString());
  }
  // non bean

  
For each map side operator - stores the alias the operator is working on behalf of in the operator runtime state. This is used by reducesink operator - but could be useful for debugging as well.
  private void setAliases() {
    for (String oneAlias : .keySet()) {
      .get(oneAlias).setAlias(oneAlias);
    }
  }

  
Derive additional attributes to be rendered by EXPLAIN.
  public void deriveExplainAttributes() {
    if ( != null) {
      for (Map.Entry<StringPartitionDescentry : 
          .entrySet()) {
        entry.getValue().deriveBaseFileName(entry.getKey());
      }
    }
    if ( != null) {
    }
  }
  public void initialize() {
    setAliases();
  }
  @Explain(displayName = "Needs Tagging", normalExplain = false)
  public boolean getNeedsTagging() {
    return ;
  }
  public void setNeedsTagging(boolean needsTagging) {
    this. = needsTagging;
  }
  public boolean getHadoopSupportsSplittable() {
  }
  public void setHadoopSupportsSplittable(boolean hadoopSupportsSplittable) {
    this. = hadoopSupportsSplittable;
  }
  public Long getMinSplitSize() {
    return ;
  }
  public void setMinSplitSize(Long minSplitSize) {
    this. = minSplitSize;
  }
  public String getInputformat() {
    return ;
  }
  public void setInputformat(String inputformat) {
    this. = inputformat;
  }
  public void setGatheringStats(boolean gatherStats) {
    this. = gatherStats;
  }
  public boolean isGatheringStats() {
    return this.;
  }
  public void setMapperCannotSpanPartns(boolean mapperCannotSpanPartns) {
    this. = mapperCannotSpanPartns;
  }
  public boolean isMapperCannotSpanPartns() {
    return this.;
  }
  public String getTmpHDFSFileURI() {
    return ;
  }
  public void setTmpHDFSFileURI(String tmpHDFSFileURI) {
    this. = tmpHDFSFileURI;
  }
  public QBJoinTree getJoinTree() {
    return ;
  }
  public void setJoinTree(QBJoinTree joinTree) {
    this. = joinTree;
  }
    return ;
  }
  public void setOpParseCtxMap(
      LinkedHashMap<Operator<? extends Serializable>, OpParseContextopParseCtxMap) {
    this. = opParseCtxMap;
  }
New to GrepCode? Check out our FAQ X