public class BeamUnionRel extends org.apache.calcite.rel.core.Union implements BeamRelNode
BeamRelNode to replace a Union.
BeamUnionRel needs the input of it have the same WindowFn. From the SQL
perspective, two cases are supported:
1) Do not use grouped window function:
select * from person UNION select * from person
2) Use the same grouped window function, with the same param:
select id, count(*) from person
group by id, TUMBLE(order_time, INTERVAL '1' HOUR)
UNION
select * from person
group by id, TUMBLE(order_time, INTERVAL '1' HOUR)
Inputs with different group functions are NOT supported:
select id, count(*) from person
group by id, TUMBLE(order_time, INTERVAL '1' HOUR)
UNION
select * from person
group by id, TUMBLE(order_time, INTERVAL '2' HOUR)
| Constructor and Description |
|---|
BeamUnionRel(org.apache.calcite.plan.RelOptCluster cluster,
org.apache.calcite.plan.RelTraitSet traits,
java.util.List<org.apache.calcite.rel.RelNode> inputs,
boolean all) |
| Modifier and Type | Method and Description |
|---|---|
PTransform<PCollectionList<Row>,PCollection<Row>> |
buildPTransform() |
org.apache.calcite.rel.core.SetOp |
copy(org.apache.calcite.plan.RelTraitSet traitSet,
java.util.List<org.apache.calcite.rel.RelNode> inputs,
boolean all) |
copy, deriveRowType, explainTerms, getInputs, isHomogeneous, replaceInputaccept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, computeDigest, computeSelfCost, computeSelfCost, explain, getChildExps, getCluster, getCollationList, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getQuery, getRelTypeName, getRows, getRowType, getTable, getTraitSet, getVariablesSet, getVariablesStopped, isDistinct, isKey, isValid, isValid, metadata, onRegister, recomputeDigest, register, sole, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetPCollectionInputs, getPipelineOptions, isBoundedaccept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, computeSelfCost, computeSelfCost, copy, estimateRowCount, explain, getChildExps, getCollationList, getConvention, getCorrelVariable, getExpectedInputRowType, getInput, getInputs, getQuery, getRelTypeName, getRows, getRowType, getTable, getVariablesSet, getVariablesStopped, isDistinct, isKey, isValid, isValid, metadata, onRegister, recomputeDigest, register, replaceInputpublic BeamUnionRel(org.apache.calcite.plan.RelOptCluster cluster,
org.apache.calcite.plan.RelTraitSet traits,
java.util.List<org.apache.calcite.rel.RelNode> inputs,
boolean all)
public org.apache.calcite.rel.core.SetOp copy(org.apache.calcite.plan.RelTraitSet traitSet,
java.util.List<org.apache.calcite.rel.RelNode> inputs,
boolean all)
copy in class org.apache.calcite.rel.core.SetOppublic PTransform<PCollectionList<Row>,PCollection<Row>> buildPTransform()
buildPTransform in interface BeamRelNode