You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Kyle Weaver (Jira)" <ji...@apache.org> on 2021/05/12 20:32:00 UTC
[jira] [Updated] (BEAM-12331) Analytic functions can't be planned
with filter.
[ https://issues.apache.org/jira/browse/BEAM-12331?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kyle Weaver updated BEAM-12331:
-------------------------------
Status: Open (was: Triage Needed)
> Analytic functions can't be planned with filter.
> ------------------------------------------------
>
> Key: BEAM-12331
> URL: https://issues.apache.org/jira/browse/BEAM-12331
> Project: Beam
> Issue Type: Bug
> Components: dsl-sql
> Reporter: Kyle Weaver
> Priority: P2
>
> Example query: "SELECT item, purchases, category, sum(purchases) over (PARTITION BY category ORDER BY purchases ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) as total_purchases FROM PCOLLECTION WHERE purchases > 3"
>
> Caused by: org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.plan.RelOptPlanner$CannotPlanException: *There are not enough rules to produce a node with desired properties:* convention=BEAM_LOGICAL. All the inputs have relevant nodes, however the cost is still infinite.
> Root: rel#11:Subset#2.BEAM_LOGICAL
> Original rel:
> LogicalProject(subset=[rel#11:Subset#2.BEAM_LOGICAL], item=[$0], purchases=[$2], category=[$1], total_purchases=[SUM($2) OVER (PARTITION BY $1 ORDER BY $2 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)]): rowcount = 50.0, cumulative cost = \{inf}, id = 9
> LogicalFilter(subset=[rel#8:Subset#1.NONE], condition=[>($2, 3)]): rowcount = 50.0, cumulative cost = \{inf}, id = 7
> BeamIOSourceRel(subset=[rel#6:Subset#0.BEAM_LOGICAL], table=[[beam, PCOLLECTION]]): rowcount = 100.0, cumulative cost = \{100.0 cpu, 0.0 cpuRate }, id = 3
--
This message was sent by Atlassian Jira
(v8.3.4#803005)