• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java FrameTuple类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.apache.tajo.storage.FrameTuple的典型用法代码示例。如果您正苦于以下问题:Java FrameTuple类的具体用法?Java FrameTuple怎么用?Java FrameTuple使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



FrameTuple类属于org.apache.tajo.storage包,在下文中一共展示了FrameTuple类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: NLLeftOuterJoinExec

import org.apache.tajo.storage.FrameTuple; //导入依赖的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.storage.FrameTuple; //导入依赖的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: joinQualFiltered

import org.apache.tajo.storage.FrameTuple; //导入依赖的package包/类
private Iterator<Tuple> joinQualFiltered(Tuple leftTuple, Iterator<Tuple> rightTuples) {
  final FrameTuple frameTuple = new FrameTuple();
  frameTuple.setLeft(leftTuple);

  return Iterators.filter(rightTuples, new Predicate<Tuple>() {
    @Override
    public boolean apply(Tuple input) {
      frameTuple.setRight(input);
      return joinQual.eval(frameTuple).isTrue();
    }
  });
}
 
开发者ID:apache,项目名称:tajo,代码行数:13,代码来源:HashFullOuterJoinExec.java


示例4: MergeFullOuterJoinExec

import org.apache.tajo.storage.FrameTuple; //导入依赖的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


示例5: RightOuterMergeJoinExec

import org.apache.tajo.storage.FrameTuple; //导入依赖的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


示例6: HashJoinExec

import org.apache.tajo.storage.FrameTuple; //导入依赖的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


示例7: BNLJoinExec

import org.apache.tajo.storage.FrameTuple; //导入依赖的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


示例8: HashLeftOuterJoinExec

import org.apache.tajo.storage.FrameTuple; //导入依赖的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


示例9: MergeJoinExec

import org.apache.tajo.storage.FrameTuple; //导入依赖的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


示例10: HashFullOuterJoinExec

import org.apache.tajo.storage.FrameTuple; //导入依赖的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


示例11: HashJoinExec

import org.apache.tajo.storage.FrameTuple; //导入依赖的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


示例12: HashLeftOuterJoinExec

import org.apache.tajo.storage.FrameTuple; //导入依赖的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


示例13: HashFullOuterJoinExec

import org.apache.tajo.storage.FrameTuple; //导入依赖的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


示例14: CommonJoinExec

import org.apache.tajo.storage.FrameTuple; //导入依赖的package包/类
public CommonJoinExec(TaskAttemptContext context, JoinNode plan, PhysicalExec outer, PhysicalExec inner) {
  super(context, SchemaUtil.merge(outer.getSchema(), inner.getSchema()),
      plan.getOutSchema(), outer, inner);
  this.plan = plan;
  this.leftSchema = outer.getSchema();
  this.rightSchema = inner.getSchema();
  if (plan.hasJoinQual()) {
    EvalNode[] extracted = EvalTreeUtil.extractJoinConditions(plan.getJoinQual(), leftSchema, rightSchema);
    joinQual = extracted[0];
    leftJoinFilter = extracted[1];
    rightJoinFilter = extracted[2];
  }
  this.hasJoinQual = joinQual != null;

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

  // for join
  this.frameTuple = new FrameTuple();

  switch (plan.getJoinType()) {

    case CROSS:
      if (hasJoinQual) {
        throw new TajoInternalError("Cross join cannot evaluate join conditions.");
      } else {
        joinKeyPairs = null;
        rightNumCols = leftNumCols = -1;
        leftKeyList = rightKeyList = null;
        leftKeyExtractor = null;
        rightKeyExtractor = null;
      }
      break;

    case INNER:
      // Other join types except INNER join can have empty join condition.
      if (!hasJoinQual) {
        throw new TajoInternalError("Inner join must have any join conditions.");
      }
    default:
      // HashJoin only can manage equi join key pairs.
      this.joinKeyPairs = PlannerUtil.getJoinKeyPairs(joinQual, outer.getSchema(),
          inner.getSchema(), false);

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

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

      leftNumCols = outer.getSchema().size();
      rightNumCols = inner.getSchema().size();

      leftKeyExtractor = new KeyProjector(leftSchema, leftKeyList);
      rightKeyExtractor = new KeyProjector(rightSchema, rightKeyList);
      break;
  }
}
 
开发者ID:apache,项目名称:tajo,代码行数:61,代码来源:CommonJoinExec.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java CommunicatesCollection类代码示例发布时间:2022-05-15
下一篇:
Java ObjectStubSerializer类代码示例发布时间:2022-05-15
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap