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.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators;
 
 import java.util.List;
 
The PhysicalOperator that represents a skewed join. It must have two inputs. This operator does not do any actually work, it is only a place holder. When it is translated into MR plan, a POSkewedJoin is translated into a sampling job and a join job.
 
 public class POSkewedJoin extends PhysicalOperator  {
 
 	
 	private static final long serialVersionUID = 1L;
 	private boolean[] mInnerFlags;
 	
 	// The schema is used only by the MRCompiler to support outer join
 	transient private List<SchemainputSchema = new ArrayList<Schema>();
 	
 	// physical plans to retrive join keys
 	// the key of this <code>MultiMap</code> is the PhysicalOperator that corresponds to an input
 	// the value is a list of <code>PhysicalPlan</code> to retrieve each join key for this input
 
     public POSkewedJoin(OperatorKey k)  {
         this(k,-1,nullnull);
     }
 
     public POSkewedJoin(OperatorKey kint rp) {
         this(krpnullnull);
     }
 
     public POSkewedJoin(OperatorKey kList<PhysicalOperatorinpboolean []flags) {
         this(k, -1, inpflags);
     }
 
     public POSkewedJoin(OperatorKey kint rpList<PhysicalOperatorinpboolean []flags) {
         super(k,rp,inp);
         if (flags != null) {
         	// copy the inner flags
         	 = new boolean[flags.length];
         	for (int i = 0; i < flags.lengthi++) {
         		[i] = flags[i];
         	}
         }
     }
     
     public boolean[] getInnerFlags() {
     	return ;
     }
     
     	return ;
     }
     
     public void setJoinPlans(MultiMap<PhysicalOperatorPhysicalPlanjoinPlans) {
          = joinPlans;
     }    
     
 	public void visit(PhyPlanVisitor vthrows VisitorException {
 		v.visitSkewedJoin(this);
 	}
 
     @Override
     public String name() {
         return getAliasString() + "SkewedJoin["
                 + DataType.findTypeName() + "]" + " - "
                + .toString();
    }
	public boolean supportsMultipleInputs() {		
		return true;
	}
	public boolean supportsMultipleOutputs() {	
		return false;
	}
	public void addSchema(Schema s) {
	}
	public Schema getSchema(int i) {
		return .get(i);
	}
  public Tuple illustratorMarkup(Object inObject outint eqClassIndex) {
	    return null;
	}
New to GrepCode? Check out our FAQ X