[ https://issues.apache.org/jira/browse/BEAM-10005?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17119239#comment-17119239 ]
Darshan Jani commented on BEAM-10005: ------------------------------------- Hi Kenneth, I have created a PR for this. Please review. Thanks > Unable to use ApproximateQuantiles.globally/ApproximateUnique.globally when > inputs not windowed by GlobalWindows > ---------------------------------------------------------------------------------------------------------------- > > Key: BEAM-10005 > URL: https://issues.apache.org/jira/browse/BEAM-10005 > Project: Beam > Issue Type: Bug > Components: sdk-java-core > Affects Versions: 2.20.0 > Reporter: Darshan Jani > Assignee: Darshan Jani > Priority: P2 > Time Spent: 20m > Remaining Estimate: 0h > > Unable to use ApproximateQuantiles.globally or ApproximateUnique.globally > with input windowed not using GlobalWindows. > To make it run we need to set either > {code:java} > .withoutDefaults() > {code} > or > {code:java} > .asSingletonView() > {code} > Currently we can't call any of the above on > ApproximateQuantiles.globally()/ApproximateUnique.globally as it does not > return underlying Combine.globally, but PTransform or Globally<T> in case of > ApproximateUnique. > Example failing case: > {code:java} > PCollection<Long> elements = p.apply(GenerateSequence.from(0).to(100) > .withRate(1,Duration.millis(1)).withTimestampFn(Instant::new)); > PCollection<List<Long>> input = elements > > .apply(Window.into(SlidingWindows.of(Duration.millis(3)).every(Duration.millis(1)))) > .apply(ApproximateQuantiles.globally(17)); > {code} > It throws expected error from internal Combine.globally() transform: > {code:java} > Default values are not supported in Combine.globally() if the input > PCollection is not windowed by GlobalWindows. Instead, use > Combine.globally().withoutDefaults() to output an empty PCollection if the > input PCollection is empty, or Combine.globally().asSingletonView() to get > the default output of the CombineFn if the input PCollection is empty. > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)