Description
From https://stackoverflow.com/questions/48335383/nested-queries-in-beam-sql :
SQL:
PCollection<BeamRecord> Query_Output = Query.apply(
BeamSql.queryMulti("Select Orders.OrderID From Orders Where Orders.CustomerID IN (Select Customers.CustomerID From Customers WHERE Customers.CustomerID = 2)"));
Error:
org.apache.beam.sdk.extensions.sql.impl.planner.BeamQueryPlanner validateAndConvert INFO: SQL: SELECT `Orders`.`OrderID` FROM `Orders` AS `Orders` WHERE `Orders`.`CustomerID` IN (SELECT `Customers`.`CustomerID` FROM `Customers` AS `Customers` WHERE `Customers`.`CustomerID` = 2) Jan 19, 2018 11:56:36 AM org.apache.beam.sdk.extensions.sql.impl.planner.BeamQueryPlanner convertToBeamRel INFO: SQLPlan> LogicalProject(OrderID=[$0]) LogicalJoin(condition=[=($1, $3)], joinType=[inner]) LogicalTableScan(table=[[Orders]]) LogicalAggregate(group=[{0}]) LogicalProject(CustomerID=[$0]) LogicalFilter(condition=[=($0, 2)]) LogicalTableScan(table=[[Customers]]) Exception in thread "main" java.lang.IllegalStateException: java.lang.IllegalStateException: Inputs to Flatten had incompatible triggers: DefaultTrigger, Repeatedly.forever(AfterWatermark.pastEndOfWindow()) at org.apache.beam.sdk.extensions.sql.BeamSql$QueryTransform.expand(BeamSql.java:165) at org.apache.beam.sdk.extensions.sql.BeamSql$QueryTransform.expand(BeamSql.java:116) at org.apache.beam.sdk.Pipeline.applyInternal(Pipeline.java:533) at org.apache.beam.sdk.Pipeline.applyTransform(Pipeline.java:465) at org.apache.beam.sdk.values.PCollectionTuple.apply(PCollectionTuple.java:160) at com.bitwise.cloud.ExampleOfJoins.main(ExampleOfJoins.java:91) Caused by: java.lang.IllegalStateException: Inputs to Flatten had incompatible triggers: DefaultTrigger, Repeatedly.forever(AfterWatermark.pastEndOfWindow()) at org.apache.beam.sdk.transforms.Flatten$PCollections.expand(Flatten.java:123) at org.apache.beam.sdk.transforms.Flatten$PCollections.expand(Flatten.java:101) at org.apache.beam.sdk.Pipeline.applyInternal(Pipeline.java:533) at org.apache.beam.sdk.Pipeline.applyTransform(Pipeline.java:465) at org.apache.beam.sdk.values.PCollectionList.apply(PCollectionList.java:182) at org.apache.beam.sdk.transforms.join.CoGroupByKey.expand(CoGroupByKey.java:124) at org.apache.beam.sdk.transforms.join.CoGroupByKey.expand(CoGroupByKey.java:74) at org.apache.beam.sdk.Pipeline.applyInternal(Pipeline.java:533) at org.apache.beam.sdk.Pipeline.applyTransform(Pipeline.java:465) at org.apache.beam.sdk.transforms.join.KeyedPCollectionTuple.apply(KeyedPCollectionTuple.java:107) at org.apache.beam.sdk.extensions.joinlibrary.Join.innerJoin(Join.java:59) at org.apache.beam.sdk.extensions.sql.impl.rel.BeamJoinRel.standardJoin(BeamJoinRel.java:217) at org.apache.beam.sdk.extensions.sql.impl.rel.BeamJoinRel.buildBeamPipeline(BeamJoinRel.java:161) at org.apache.beam.sdk.extensions.sql.impl.rel.BeamProjectRel.buildBeamPipeline(BeamProjectRel.java:68) at org.apache.beam.sdk.extensions.sql.BeamSql$QueryTransform.expand(BeamSql.java:163) ... 5 more