[ 
https://issues.apache.org/jira/browse/BEAM-9418?focusedWorklogId=429253&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-429253
 ]

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: 429253)
    Time Spent: 2.5h  (was: 2h 20m)

> 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: 2.5h
>  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)

Reply via email to