[
https://issues.apache.org/jira/browse/BEAM-10005?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kenneth Knowles updated BEAM-10005:
-----------------------------------
This Jira ticket has a pull request attached to it, but is still open. Did the
pull request resolve the issue? If so, could you please mark it resolved? This
will help the project have a clear view of its open issues.
> 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
> Priority: P3
> Labels: Clarified
> Time Spent: 2h 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.20.1#820001)