当前位置: 首页>>代码示例>>Java>>正文


Java JoinNode.getTargets方法代码示例

本文整理汇总了Java中org.apache.tajo.engine.planner.logical.JoinNode.getTargets方法的典型用法代码示例。如果您正苦于以下问题:Java JoinNode.getTargets方法的具体用法?Java JoinNode.getTargets怎么用?Java JoinNode.getTargets使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.tajo.engine.planner.logical.JoinNode的用法示例。


在下文中一共展示了JoinNode.getTargets方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: NLLeftOuterJoinExec

import org.apache.tajo.engine.planner.logical.JoinNode; //导入方法依赖的package包/类
public NLLeftOuterJoinExec(TaskAttemptContext context, JoinNode plan, PhysicalExec leftChild,
                           PhysicalExec rightChild) {
  super(context, plan.getInSchema(), plan.getOutSchema(), leftChild, rightChild);
  this.plan = plan;

  if (plan.hasJoinQual()) {
    this.joinQual = plan.getJoinQual();
  }

  // for projection
  projector = new Projector(inSchema, outSchema, plan.getTargets());

  // for join
  needNextRightTuple = true;
  frameTuple = new FrameTuple();
  outTuple = new VTuple(outSchema.size());

  foundAtLeastOneMatch = false;
  rightNumCols = rightChild.getSchema().size();
}
 
开发者ID:apache,项目名称:incubator-tajo,代码行数:21,代码来源:NLLeftOuterJoinExec.java

示例2: NLJoinExec

import org.apache.tajo.engine.planner.logical.JoinNode; //导入方法依赖的package包/类
public NLJoinExec(TaskAttemptContext context, JoinNode plan, PhysicalExec outer,
    PhysicalExec inner) {
  super(context, plan.getInSchema(), plan.getOutSchema(), outer, inner);
  this.plan = plan;

  if (plan.hasJoinQual()) {
    this.joinQual = plan.getJoinQual();
  }

  // for projection
  projector = new Projector(inSchema, outSchema, plan.getTargets());

  // for join
  needNewOuter = true;
  frameTuple = new FrameTuple();
  outTuple = new VTuple(outSchema.size());
}
 
开发者ID:apache,项目名称:incubator-tajo,代码行数:18,代码来源:NLJoinExec.java

示例3: MergeFullOuterJoinExec

import org.apache.tajo.engine.planner.logical.JoinNode; //导入方法依赖的package包/类
public MergeFullOuterJoinExec(TaskAttemptContext context, JoinNode plan, PhysicalExec leftChild,
                              PhysicalExec rightChild, SortSpec[] leftSortKey, SortSpec[] rightSortKey) {
  super(context, plan.getInSchema(), plan.getOutSchema(), leftChild, rightChild);
  Preconditions.checkArgument(plan.hasJoinQual(), "Sort-merge join is only used for the equi-join, " +
      "but there is no join condition");
  this.joinNode = plan;
  this.joinQual = plan.getJoinQual();

  this.leftTupleSlots = new ArrayList<Tuple>(INITIAL_TUPLE_SLOT);
  this.rightTupleSlots = new ArrayList<Tuple>(INITIAL_TUPLE_SLOT);
  SortSpec[][] sortSpecs = new SortSpec[2][];
  sortSpecs[0] = leftSortKey;
  sortSpecs[1] = rightSortKey;

  this.joincomparator = new JoinTupleComparator(leftChild.getSchema(),
      rightChild.getSchema(), sortSpecs);
  this.tupleComparator = PlannerUtil.getComparatorsFromJoinQual(
      plan.getJoinQual(), leftChild.getSchema(), rightChild.getSchema());

  // for projection
  this.projector = new Projector(inSchema, outSchema, plan.getTargets());

  // for join
  frameTuple = new FrameTuple();
  outTuple = new VTuple(outSchema.size());

  leftNumCols = leftChild.getSchema().size();
  rightNumCols = rightChild.getSchema().size();
}
 
开发者ID:apache,项目名称:incubator-tajo,代码行数:30,代码来源:MergeFullOuterJoinExec.java

示例4: RightOuterMergeJoinExec

import org.apache.tajo.engine.planner.logical.JoinNode; //导入方法依赖的package包/类
public RightOuterMergeJoinExec(TaskAttemptContext context, JoinNode plan, PhysicalExec outer,
                               PhysicalExec inner, SortSpec[] outerSortKey, SortSpec[] innerSortKey) {
  super(context, plan.getInSchema(), plan.getOutSchema(), outer, inner);
  Preconditions.checkArgument(plan.hasJoinQual(), "Sort-merge join is only used for the equi-join, " +
      "but there is no join condition");
  this.joinNode = plan;
  this.joinQual = plan.getJoinQual();

  this.leftTupleSlots = new ArrayList<Tuple>(INITIAL_TUPLE_SLOT);
  this.innerTupleSlots = new ArrayList<Tuple>(INITIAL_TUPLE_SLOT);
  SortSpec[][] sortSpecs = new SortSpec[2][];
  sortSpecs[0] = outerSortKey;
  sortSpecs[1] = innerSortKey;

  this.joinComparator = new JoinTupleComparator(outer.getSchema(), inner.getSchema(), sortSpecs);
  this.tupleComparator = PlannerUtil.getComparatorsFromJoinQual(
      plan.getJoinQual(), outer.getSchema(), inner.getSchema());

  // for projection
  this.projector = new Projector(inSchema, outSchema, plan.getTargets());

  // for join
  frameTuple = new FrameTuple();
  outTuple = new VTuple(outSchema.size());

  leftNumCols = outer.getSchema().size();
}
 
开发者ID:apache,项目名称:incubator-tajo,代码行数:28,代码来源:RightOuterMergeJoinExec.java

示例5: HashJoinExec

import org.apache.tajo.engine.planner.logical.JoinNode; //导入方法依赖的package包/类
public HashJoinExec(TaskAttemptContext context, JoinNode plan, PhysicalExec leftExec,
    PhysicalExec rightExec) {
  super(context, SchemaUtil.merge(leftExec.getSchema(), rightExec.getSchema()), plan.getOutSchema(),
      leftExec, rightExec);
  this.plan = plan;
  this.joinQual = plan.getJoinQual();
  this.tupleSlots = new HashMap<Tuple, List<Tuple>>(10000);

  this.joinKeyPairs = PlannerUtil.getJoinKeyPairs(joinQual,
      leftExec.getSchema(), rightExec.getSchema());

  leftKeyList = new int[joinKeyPairs.size()];
  rightKeyList = new int[joinKeyPairs.size()];

  for (int i = 0; i < joinKeyPairs.size(); i++) {
    leftKeyList[i] = leftExec.getSchema().getColumnId(joinKeyPairs.get(i)[0].getQualifiedName());
  }

  for (int i = 0; i < joinKeyPairs.size(); i++) {
    rightKeyList[i] = rightExec.getSchema().getColumnId(joinKeyPairs.get(i)[1].getQualifiedName());
  }

  // for projection
  this.projector = new Projector(inSchema, outSchema, plan.getTargets());

  // for join
  frameTuple = new FrameTuple();
  outTuple = new VTuple(outSchema.size());
  leftKeyTuple = new VTuple(leftKeyList.length);
}
 
开发者ID:apache,项目名称:incubator-tajo,代码行数:31,代码来源:HashJoinExec.java

示例6: BNLJoinExec

import org.apache.tajo.engine.planner.logical.JoinNode; //导入方法依赖的package包/类
public BNLJoinExec(final TaskAttemptContext context, final JoinNode plan,
                   final PhysicalExec leftExec, PhysicalExec rightExec) {
  super(context, plan.getInSchema(), plan.getOutSchema(), leftExec, rightExec);
  this.plan = plan;
  this.joinQual = plan.getJoinQual();
  if (joinQual != null) { // if join type is not 'cross join'
    hasJoinQual = true;
  } else {
    hasJoinQual = false;
  }
  this.leftTupleSlots = new ArrayList<Tuple>(TUPLE_SLOT_SIZE);
  this.rightTupleSlots = new ArrayList<Tuple>(TUPLE_SLOT_SIZE);
  this.leftIterator = leftTupleSlots.iterator();
  this.rightIterator = rightTupleSlots.iterator();
  this.rightEnd = false;
  this.leftEnd = false;

  // for projection
  if (!plan.hasTargets()) {
    plan.setTargets(PlannerUtil.schemaToTargets(outSchema));
  }

  projector = new Projector(inSchema, outSchema, plan.getTargets());

  // for join
  frameTuple = new FrameTuple();
  outputTuple = new VTuple(outSchema.size());
}
 
开发者ID:apache,项目名称:incubator-tajo,代码行数:29,代码来源:BNLJoinExec.java

示例7: HashLeftOuterJoinExec

import org.apache.tajo.engine.planner.logical.JoinNode; //导入方法依赖的package包/类
public HashLeftOuterJoinExec(TaskAttemptContext context, JoinNode plan, PhysicalExec leftChild,
                             PhysicalExec rightChild) {
  super(context, SchemaUtil.merge(leftChild.getSchema(), rightChild.getSchema()),
      plan.getOutSchema(), leftChild, rightChild);
  this.plan = plan;
  this.joinQual = plan.getJoinQual();
  this.tupleSlots = new HashMap<Tuple, List<Tuple>>(10000);

  this.joinKeyPairs = PlannerUtil.getJoinKeyPairs(joinQual, leftChild.getSchema(), rightChild.getSchema());

  leftKeyList = new int[joinKeyPairs.size()];
  rightKeyList = new int[joinKeyPairs.size()];

  for (int i = 0; i < joinKeyPairs.size(); i++) {
    leftKeyList[i] = leftChild.getSchema().getColumnId(joinKeyPairs.get(i)[0].getQualifiedName());
  }

  for (int i = 0; i < joinKeyPairs.size(); i++) {
    rightKeyList[i] = rightChild.getSchema().getColumnId(joinKeyPairs.get(i)[1].getQualifiedName());
  }

  // for projection
  this.projector = new Projector(inSchema, outSchema, plan.getTargets());

  // for join
  frameTuple = new FrameTuple();
  outTuple = new VTuple(outSchema.size());
  leftKeyTuple = new VTuple(leftKeyList.length);

  rightNumCols = rightChild.getSchema().size();
}
 
开发者ID:apache,项目名称:incubator-tajo,代码行数:32,代码来源:HashLeftOuterJoinExec.java

示例8: MergeJoinExec

import org.apache.tajo.engine.planner.logical.JoinNode; //导入方法依赖的package包/类
public MergeJoinExec(TaskAttemptContext context, JoinNode plan, PhysicalExec outer,
    PhysicalExec inner, SortSpec[] outerSortKey, SortSpec[] innerSortKey) {
  super(context, plan.getInSchema(), plan.getOutSchema(), outer, inner);
  Preconditions.checkArgument(plan.hasJoinQual(), "Sort-merge join is only used for the equi-join, " +
      "but there is no join condition");
  this.joinNode = plan;
  this.joinQual = plan.getJoinQual();

  this.outerTupleSlots = new ArrayList<Tuple>(INITIAL_TUPLE_SLOT);
  this.innerTupleSlots = new ArrayList<Tuple>(INITIAL_TUPLE_SLOT);
  SortSpec[][] sortSpecs = new SortSpec[2][];
  sortSpecs[0] = outerSortKey;
  sortSpecs[1] = innerSortKey;

  this.joincomparator = new JoinTupleComparator(outer.getSchema(),
      inner.getSchema(), sortSpecs);
  this.tupleComparator = PlannerUtil.getComparatorsFromJoinQual(
      plan.getJoinQual(), outer.getSchema(), inner.getSchema());
  this.outerIterator = outerTupleSlots.iterator();
  this.innerIterator = innerTupleSlots.iterator();
  
  // for projection
  this.projector = new Projector(inSchema, outSchema, plan.getTargets());

  // for join
  frameTuple = new FrameTuple();
  outTuple = new VTuple(outSchema.size());
}
 
开发者ID:apache,项目名称:incubator-tajo,代码行数:29,代码来源:MergeJoinExec.java

示例9: HashFullOuterJoinExec

import org.apache.tajo.engine.planner.logical.JoinNode; //导入方法依赖的package包/类
public HashFullOuterJoinExec(TaskAttemptContext context, JoinNode plan, PhysicalExec outer,
                             PhysicalExec inner) {
  super(context, SchemaUtil.merge(outer.getSchema(), inner.getSchema()),
      plan.getOutSchema(), outer, inner);
  this.plan = plan;
  this.joinQual = plan.getJoinQual();
  this.tupleSlots = new HashMap<Tuple, List<Tuple>>(10000);

  // this hashmap mirrors the evolution of the tupleSlots, with the same keys. For each join key,
  // we have a boolean flag, initially false (whether this join key had at least one match on the left operand)
  this.matched = new HashMap<Tuple, Boolean>(10000);

  this.joinKeyPairs = PlannerUtil.getJoinKeyPairs(joinQual,
      outer.getSchema(), inner.getSchema());

  leftKeyList = new int[joinKeyPairs.size()];
  rightKeyList = new int[joinKeyPairs.size()];

  for (int i = 0; i < joinKeyPairs.size(); i++) {
    leftKeyList[i] = outer.getSchema().getColumnId(joinKeyPairs.get(i)[0].getQualifiedName());
  }

  for (int i = 0; i < joinKeyPairs.size(); i++) {
    rightKeyList[i] = inner.getSchema().getColumnId(joinKeyPairs.get(i)[1].getQualifiedName());
  }

  // for projection
  this.projector = new Projector(inSchema, outSchema, plan.getTargets());

  // for join
  frameTuple = new FrameTuple();
  outTuple = new VTuple(outSchema.size());
  leftKeyTuple = new VTuple(leftKeyList.length);

  leftNumCols = outer.getSchema().size();
  rightNumCols = inner.getSchema().size();
}
 
开发者ID:apache,项目名称:incubator-tajo,代码行数:38,代码来源:HashFullOuterJoinExec.java

示例10: HashJoinExec

import org.apache.tajo.engine.planner.logical.JoinNode; //导入方法依赖的package包/类
public HashJoinExec(TaskAttemptContext context, JoinNode plan, PhysicalExec leftExec,
    PhysicalExec rightExec) {
  super(context, SchemaUtil.merge(leftExec.getSchema(), rightExec.getSchema()), plan.getOutSchema(),
      leftExec, rightExec);
  this.plan = plan;
  this.joinQual = plan.getJoinQual();
  this.tupleSlots = new HashMap<Tuple, List<Tuple>>(100000);

  // HashJoin only can manage equi join key pairs.
  this.joinKeyPairs = PlannerUtil.getJoinKeyPairs(joinQual, leftExec.getSchema(),
      rightExec.getSchema(), false);

  leftKeyList = new int[joinKeyPairs.size()];
  rightKeyList = new int[joinKeyPairs.size()];

  for (int i = 0; i < joinKeyPairs.size(); i++) {
    leftKeyList[i] = leftExec.getSchema().getColumnId(joinKeyPairs.get(i)[0].getQualifiedName());
  }

  for (int i = 0; i < joinKeyPairs.size(); i++) {
    rightKeyList[i] = rightExec.getSchema().getColumnId(joinKeyPairs.get(i)[1].getQualifiedName());
  }

  // for projection
  this.projector = new Projector(inSchema, outSchema, plan.getTargets());

  // for join
  frameTuple = new FrameTuple();
  outTuple = new VTuple(outSchema.size());
  leftKeyTuple = new VTuple(leftKeyList.length);
}
 
开发者ID:gruter,项目名称:tajo-cdh,代码行数:32,代码来源:HashJoinExec.java

示例11: HashLeftOuterJoinExec

import org.apache.tajo.engine.planner.logical.JoinNode; //导入方法依赖的package包/类
public HashLeftOuterJoinExec(TaskAttemptContext context, JoinNode plan, PhysicalExec leftChild,
                             PhysicalExec rightChild) {
  super(context, SchemaUtil.merge(leftChild.getSchema(), rightChild.getSchema()),
      plan.getOutSchema(), leftChild, rightChild);
  this.plan = plan;
  this.joinQual = plan.getJoinQual();
  this.tupleSlots = new HashMap<Tuple, List<Tuple>>(10000);

  // HashJoin only can manage equi join key pairs.
  this.joinKeyPairs = PlannerUtil.getJoinKeyPairs(joinQual, leftChild.getSchema(),
      rightChild.getSchema(), false);

  leftKeyList = new int[joinKeyPairs.size()];
  rightKeyList = new int[joinKeyPairs.size()];

  for (int i = 0; i < joinKeyPairs.size(); i++) {
    leftKeyList[i] = leftChild.getSchema().getColumnId(joinKeyPairs.get(i)[0].getQualifiedName());
  }

  for (int i = 0; i < joinKeyPairs.size(); i++) {
    rightKeyList[i] = rightChild.getSchema().getColumnId(joinKeyPairs.get(i)[1].getQualifiedName());
  }

  // for projection
  this.projector = new Projector(inSchema, outSchema, plan.getTargets());

  // for join
  frameTuple = new FrameTuple();
  outTuple = new VTuple(outSchema.size());
  leftKeyTuple = new VTuple(leftKeyList.length);

  rightNumCols = rightChild.getSchema().size();
}
 
开发者ID:gruter,项目名称:tajo-cdh,代码行数:34,代码来源:HashLeftOuterJoinExec.java

示例12: HashFullOuterJoinExec

import org.apache.tajo.engine.planner.logical.JoinNode; //导入方法依赖的package包/类
public HashFullOuterJoinExec(TaskAttemptContext context, JoinNode plan, PhysicalExec outer,
                             PhysicalExec inner) {
  super(context, SchemaUtil.merge(outer.getSchema(), inner.getSchema()),
      plan.getOutSchema(), outer, inner);
  this.plan = plan;
  this.joinQual = plan.getJoinQual();
  this.tupleSlots = new HashMap<Tuple, List<Tuple>>(10000);

  // this hashmap mirrors the evolution of the tupleSlots, with the same keys. For each join key,
  // we have a boolean flag, initially false (whether this join key had at least one match on the left operand)
  this.matched = new HashMap<Tuple, Boolean>(10000);

  // HashJoin only can manage equi join key pairs.
  this.joinKeyPairs = PlannerUtil.getJoinKeyPairs(joinQual, outer.getSchema(), inner.getSchema(),
      false);

  leftKeyList = new int[joinKeyPairs.size()];
  rightKeyList = new int[joinKeyPairs.size()];

  for (int i = 0; i < joinKeyPairs.size(); i++) {
    leftKeyList[i] = outer.getSchema().getColumnId(joinKeyPairs.get(i)[0].getQualifiedName());
  }

  for (int i = 0; i < joinKeyPairs.size(); i++) {
    rightKeyList[i] = inner.getSchema().getColumnId(joinKeyPairs.get(i)[1].getQualifiedName());
  }

  // for projection
  this.projector = new Projector(inSchema, outSchema, plan.getTargets());

  // for join
  frameTuple = new FrameTuple();
  outTuple = new VTuple(outSchema.size());
  leftKeyTuple = new VTuple(leftKeyList.length);

  leftNumCols = outer.getSchema().size();
  rightNumCols = inner.getSchema().size();
}
 
开发者ID:gruter,项目名称:tajo-cdh,代码行数:39,代码来源:HashFullOuterJoinExec.java


注:本文中的org.apache.tajo.engine.planner.logical.JoinNode.getTargets方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。