本文整理了Java中org.apache.calcite.rel.RelNode.getTraitSet
方法的一些代码示例,展示了RelNode.getTraitSet
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RelNode.getTraitSet
方法的具体详情如下:
包路径:org.apache.calcite.rel.RelNode
类名称:RelNode
方法名:getTraitSet
暂无
代码示例来源:origin: apache/incubator-druid
public static DruidUnionRel create(
final QueryMaker queryMaker,
final RelDataType rowType,
final List<RelNode> rels,
final int limit
)
{
Preconditions.checkState(rels.size() > 0, "rels must be nonempty");
return new DruidUnionRel(
rels.get(0).getCluster(),
rels.get(0).getTraitSet(),
queryMaker,
rowType,
new ArrayList<>(rels),
limit
);
}
代码示例来源:origin: apache/incubator-druid
public RelTrait[] getRelTraits()
{
return leafRel().getTraitSet().toArray(new RelTrait[0]);
}
代码示例来源:origin: apache/hive
public RelNode align(RelNode rel, List<RelFieldCollation> collations) {
ImmutableList.Builder<RelNode> newInputs = new ImmutableList.Builder<>();
for (RelNode input : rel.getInputs()) {
newInputs.add(dispatchAlign(input, ImmutableList.<RelFieldCollation>of()));
}
return rel.copy(rel.getTraitSet(), newInputs.build());
}
代码示例来源:origin: apache/hive
@Override
public RelNode createAggregate(RelNode child, boolean indicator,
ImmutableBitSet groupSet, ImmutableList<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls) {
if (indicator) {
throw new IllegalStateException("Hive does not support indicator columns but Calcite "
+ "created an Aggregate operator containing them");
}
return new HiveAggregate(child.getCluster(), child.getTraitSet(), child,
groupSet, groupSets, aggCalls);
}
}
代码示例来源:origin: apache/storm
private RelNode convertToStormRel(RelNode relNode) throws RelConversionException {
RelTraitSet traitSet = relNode.getTraitSet();
traitSet = traitSet.simplify();
// PlannerImpl.transform() optimizes RelNode with ruleset
return planner.transform(STORM_REL_CONVERSION_RULES, traitSet.plus(StreamsLogicalConvention.INSTANCE), relNode);
}
代码示例来源:origin: apache/hive
@Override
public RelNode createSemiJoin(RelNode left, RelNode right,
RexNode condition) {
final JoinInfo joinInfo = JoinInfo.of(left, right, condition);
final RelOptCluster cluster = left.getCluster();
return HiveSemiJoin.getSemiJoin(cluster, left.getTraitSet(), left, right, condition,
joinInfo.leftKeys, joinInfo.rightKeys);
}
}
代码示例来源:origin: apache/hive
@Override
public RelNode createProject(RelNode child,
List<? extends RexNode> childExprs, List<String> fieldNames) {
RelOptCluster cluster = child.getCluster();
RelDataType rowType = RexUtil.createStructType(cluster.getTypeFactory(), childExprs, fieldNames);
RelTraitSet trait = TraitsUtil.getDefaultTraitSet(cluster, child.getTraitSet());
RelNode project = HiveProject.create(cluster, child,
childExprs, rowType, trait, Collections.<RelCollation> emptyList());
return project;
}
}
代码示例来源:origin: apache/drill
@Override
public RelNode convert(RelNode in) {
return new JdbcDrel(in.getCluster(), in.getTraitSet().replace(DrillRel.DRILL_LOGICAL),
convert(in, in.getTraitSet().replace(this.getInTrait()).simplify()));
}
代码示例来源:origin: apache/drill
@Override
public RelNode createProject(RelNode child,
List<? extends RexNode> childExprs, List<String> fieldNames) {
RelOptCluster cluster = child.getCluster();
RelDataType rowType = RexUtil.createStructType(cluster.getTypeFactory(), childExprs, fieldNames);
RelTraitSet trait = TraitsUtil.getDefaultTraitSet(cluster, child.getTraitSet());
RelNode project = HiveProject.create(cluster, child,
childExprs, rowType, trait, Collections.<RelCollation> emptyList());
return project;
}
}
代码示例来源:origin: apache/kylin
@Override
public RelNode convert(RelNode rel) {
RelTraitSet newTraitSet = rel.getTraitSet().replace(getOutConvention());
return new OLAPToEnumerableConverter(rel.getCluster(), newTraitSet, rel);
}
代码示例来源:origin: apache/drill
public RelNode convert(RelNode rel) {
LogicalFilter filter = (LogicalFilter) rel;
return new JdbcRules.JdbcFilter(rel.getCluster(), rel.getTraitSet().replace(this.out), convert(filter.getInput(),
filter.getInput().getTraitSet().replace(this.out).simplify()), filter.getCondition());
}
代码示例来源:origin: apache/drill
@Override
public RelNode convert(RelNode in) {
return new JdbcIntermediatePrel(
in.getCluster(),
in.getTraitSet().replace(getOutTrait()),
in.getInput(0));
}
代码示例来源:origin: apache/hive
public void onMatch(RelOptRuleCall call) {
final HiveFilter filter = call.rel(0);
final HiveSortLimit sort = call.rel(1);
final RelNode newFilter = filter.copy(sort.getInput().getTraitSet(),
ImmutableList.<RelNode>of(sort.getInput()));
final HiveSortLimit newSort = sort.copy(sort.getTraitSet(),
newFilter, sort.collation, sort.offset, sort.fetch);
call.transformTo(newSort);
}
代码示例来源:origin: apache/storm
@Override
public RelNode convert(RelNode rel) {
final Filter filter = (Filter) rel;
final RelNode input = filter.getInput();
return new StreamsFilterRel(filter.getCluster(),
filter.getTraitSet().replace(StreamsLogicalConvention.INSTANCE),
convert(input, input.getTraitSet().replace(StreamsLogicalConvention.INSTANCE)),
filter.getCondition());
}
}
代码示例来源:origin: apache/storm
@Override
public RelNode convert(RelNode rel) {
final Calc calc = (Calc) rel;
final RelNode input = calc.getInput();
return new StreamsCalcRel(calc.getCluster(), calc.getTraitSet().replace(StreamsLogicalConvention.INSTANCE),
convert(input, input.getTraitSet().replace(StreamsLogicalConvention.INSTANCE)),
calc.getProgram());
}
}
代码示例来源:origin: apache/storm
@Override
public RelNode convert(RelNode rel) {
final Project project = (Project) rel;
final RelNode input = project.getInput();
return new StreamsProjectRel(project.getCluster(),
project.getTraitSet().replace(StreamsLogicalConvention.INSTANCE),
convert(input, input.getTraitSet().replace(StreamsLogicalConvention.INSTANCE)), project.getProjects(),
project.getRowType());
}
}
代码示例来源:origin: apache/kylin
@Override
public RelNode convert(RelNode rel) {
final Sort sort = (Sort) rel;
if (sort.offset != null || sort.fetch != null) {
return null;
}
final RelTraitSet traitSet = sort.getTraitSet().replace(OLAPRel.CONVENTION);
final RelNode input = sort.getInput();
return new OLAPSortRel(rel.getCluster(), traitSet, convert(input, input.getTraitSet().replace(OLAPRel.CONVENTION)), sort.getCollation(), sort.offset, sort.fetch);
}
代码示例来源:origin: apache/kylin
@Override
public RelNode convert(RelNode rel) {
final Window window = (Window) rel;
final RelTraitSet traitSet = window.getTraitSet().replace(OLAPRel.CONVENTION);
final RelNode input = window.getInput();
return new OLAPWindowRel(rel.getCluster(), traitSet,
convert(input, input.getTraitSet().replace(OLAPRel.CONVENTION)), window.constants, window.getRowType(),
window.groups);
}
}
代码示例来源:origin: apache/drill
public void onMatch(RelOptRuleCall call) {
final HiveFilter filter = call.rel(0);
final HiveSortLimit sort = call.rel(1);
final RelNode newFilter = filter.copy(sort.getInput().getTraitSet(),
ImmutableList.<RelNode>of(sort.getInput()));
final HiveSortLimit newSort = sort.copy(sort.getTraitSet(),
newFilter, sort.collation, sort.offset, sort.fetch);
call.transformTo(newSort);
}
代码示例来源:origin: apache/kylin
@Override
public RelNode convert(RelNode rel) {
LogicalFilter filter = (LogicalFilter) rel;
RelTraitSet origTraitSet = filter.getTraitSet();
RelTraitSet traitSet = origTraitSet.replace(OLAPRel.CONVENTION).simplify();
return new OLAPFilterRel(filter.getCluster(), traitSet,
convert(filter.getInput(), filter.getInput().getTraitSet().replace(OLAPRel.CONVENTION)),
filter.getCondition());
}
}
内容来源于网络,如有侵权,请联系作者删除!