You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@beam.apache.org by GitBox <gi...@apache.org> on 2022/06/03 19:34:06 UTC
[GitHub] [beam] kennknowles opened a new issue, #18656: Query with subquery and aggregates cannot be implemented.
kennknowles opened a new issue, #18656:
URL: https://github.com/apache/beam/issues/18656
This query results in the error below:
```
"SELECT (COUNT(`p`))
FROM (SELECT `p`
FROM `contains`
GROUP BY `p`) AS `t1`"
```
This works correctly:
```
"SELECT (COUNT(`p`))
FROM (SELECT `p`, CURRENT_TIME
FROM `contains`
GROUP BY `p`)
AS `t1`"
```
Error:
```
[nREPL-worker-5] INFO org.apache.beam.sdk.extensions.sql.impl.planner.BeamQueryPlanner - SQL:
SELECT
COUNT(`t1`.`p`)
FROM (SELECT `contains`.`p`
FROM `contains` AS `contains`
GROUP BY `contains`.`p`)
AS `t1`
[nREPL-worker-5] INFO org.apache.beam.sdk.extensions.sql.impl.planner.BeamQueryPlanner - SQLPlan>
LogicalAggregate(group=[{}],
EXPR$0=[COUNT()])
LogicalAggregate(group=[{0}])
LogicalProject(p=[$0])
LogicalTableScan(table=[[contains]])
CannotPlanException
Node [rel#157:Subset#3.BEAM_LOGICAL.[]] could not be implemented; planner state:
Root: rel#157:Subset#3.BEAM_LOGICAL.[]
Original
rel:
LogicalAggregate(subset=[rel#157:Subset#3.BEAM_LOGICAL.[]], group=[{}], EXPR$0=[COUNT()]): rowcount
= 1.0, cumulative cost = {1.125 rows, 0.0 cpu, 0.0 io}, id = 155
LogicalAggregate(subset=[rel#154:Subset#2.NONE.[]],
group=[{0}]): rowcount = 10.0, cumulative cost = {10.0 rows, 0.0 cpu, 0.0 io}, id = 153
LogicalProject(subset=[rel#152:Subset#1.NONE.[]],
p=[$0]): rowcount = 100.0, cumulative cost = {100.0 rows, 100.0 cpu, 0.0 io}, id = 151
LogicalTableScan(subset=[rel#150:Subset#0.NONE.[]],
table=[[contains]]): rowcount = 100.0, cumulative cost = {100.0 rows, 101.0 cpu, 0.0 io}, id = 146
Sets:
Set#0,
type: RecordType(VARCHAR p, VARCHAR s, BIGINT c)
rel#150:Subset#0.NONE.[], best=null, importance=0.6561
rel#146:LogicalTableScan.NONE.[](table=[contains]), rowcount=100.0, cumulative cost={inf}
rel#162:Subset#0.BEAM_LOGICAL.[],
best=rel#164, importance=0.32805
rel#164:BeamIOSourceRel.BEAM_LOGICAL.[](table=[contains]), rowcount=100.0,
cumulative cost={100.0 rows, 101.0 cpu, 0.0 io}
Set#1, type: RecordType(VARCHAR p)
rel#152:Subset#1.NONE.[],
best=null, importance=0.7290000000000001
rel#151:LogicalProject.NONE.[](input=rel#150:Subset#0.NONE.[],p=$0),
rowcount=100.0, cumulative cost={inf}
rel#159:Subset#1.BEAM_LOGICAL.[], best=rel#163, importance=0.36450000000000005
rel#163:BeamProjectRel.BEAM_LOGICAL.[](input=rel#162:Subset#0.BEAM_LOGICAL.[],p=$0), rowcount=100.0,
cumulative cost={200.0 rows, 201.0 cpu, 0.0 io}
Set#2, type: RecordType(VARCHAR p)
rel#154:Subset#2.NONE.[],
best=null, importance=0.81
rel#153:LogicalAggregate.NONE.[](input=rel#152:Subset#1.NONE.[],group={0}),
rowcount=10.0, cumulative cost={inf}
rel#161:Subset#2.BEAM_LOGICAL.[], best=rel#160, importance=0.405
rel#160:BeamAggregationRel.BEAM_LOGICAL.[](group={0},window=org.apache.beam.sdk.transforms.windowing.GlobalWindows,trigger=Repeatedly.forever(AfterWatermark.pastEndOfWindow())),
rowcount=10.0, cumulative cost={210.0 rows, 201.0 cpu, 0.0 io}
Set#3, type: RecordType(BIGINT EXPR$0)
rel#156:Subset#3.NONE.[], best=null, importance=0.9
rel#155:LogicalAggregate.NONE.[](input=rel#154:Subset#2.NONE.[],group={},EXPR$0=COUNT()),
rowcount=1.0, cumulative cost={inf}
rel#157:Subset#3.BEAM_LOGICAL.[], best=null,
importance=1.0
rel#158:AbstractConverter.BEAM_LOGICAL.[](input=rel#156:Subset#3.NONE.[],convention=BEAM_LOGICAL,sort=[]),
rowcount=1.0, cumulative cost={inf}
org.apache.beam.sdks.java.extensions.sql.repackaged.org.apache.calcite.plan.volcano.RelSubset$CheapestPlanReplacer.visit
(RelSubset.java:441)
```
Imported from Jira [BEAM-3481](https://issues.apache.org/jira/browse/BEAM-3481). Original Jira may contain additional context.
Reported by: AustinHaas.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org