[ 
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)

Reply via email to