[ https://issues.apache.org/jira/browse/BEAM-9418?focusedWorklogId=429252&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-429252 ]
ASF GitHub Bot logged work on BEAM-9418: ---------------------------------------- Author: ASF GitHub Bot Created on: 30/Apr/20 20:47 Start Date: 30/Apr/20 20:47 Worklog Time Spent: 10m Work Description: jhnmora000 commented on a change in pull request #11333: URL: https://github.com/apache/beam/pull/11333#discussion_r418279156 ########## File path: sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Sample.java ########## @@ -246,6 +254,36 @@ private SampleAnyCombineFn(long limit) { } } + /** A {@link CombineFn} that combines into a single element. */ + private static class AnyValueCombineFn<T> extends CombineFn<T, List<T>, T> { + private SampleAnyCombineFn internal; + + private AnyValueCombineFn() { + internal = new SampleAnyCombineFn<>(1); + } + + @Override + public List<T> createAccumulator() { + return internal.createAccumulator(); + } + + @Override + public List<T> addInput(List<T> accumulator, T input) { + return internal.addInput(accumulator, input); + } + + @Override + public List<T> mergeAccumulators(Iterable<List<T>> accumulators) { + return internal.mergeAccumulators(accumulators); + } + + @Override + public T extractOutput(List<T> accumulator) { + Iterator<T> it = internal.extractOutput(accumulator).iterator(); + return it.hasNext() ? it.next() : null; Review comment: Yes, I was aware of that. I thought that I could have used java Optional<T> or similar, but I was not sure it would be compliant with other components. Are there other functions that return optional or nullable objects in the Java SDK?, I could give them a look. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking ------------------- Worklog Id: (was: 429252) Time Spent: 2h 20m (was: 2h 10m) > Support ANY_VALUE aggregation functions > --------------------------------------- > > Key: BEAM-9418 > URL: https://issues.apache.org/jira/browse/BEAM-9418 > Project: Beam > Issue Type: Task > Components: dsl-sql > Reporter: Rui Wang > Assignee: John Mora > Priority: Major > Time Spent: 2h 20m > Remaining Estimate: 0h > > Support the following functionality in BeamSQL: > {code:java} > "select t.key, ANY_VALUE(t.column) from t group by t.key"; > {code} > Spec link: > https://cloud.google.com/bigquery/docs/reference/standard-sql/aggregate_functions#any_value -- This message was sent by Atlassian Jira (v8.3.4#803005)