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

ASF GitHub Bot logged work on BEAM-9424:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 04/Mar/20 16:41
            Start Date: 04/Mar/20 16:41
    Worklog Time Spent: 10m 
      Work Description: reuvenlax commented on issue #11034: [BEAM-9424] Allow 
grouping by LogicalType
URL: https://github.com/apache/beam/pull/11034#issuecomment-594651288
 
 
   @kanterov ok, I see the bug now. the problem is because we have an 
unfortunate asymmetry between Row.Builder.addValues and Row.getValues. 
getValues returns the base type for logical types (because that's how it's 
stored, but addValues expects to get the input type.
   
   I'm still thinking of the best way to resolve this inconsistency without 
breaking other use cases. However a simple fix for now is to fix SelectHelpers 
to use attachValues instead of addValues. Coincidentally that change is already 
made in https://github.com/apache/beam/pull/11025. Can you check to see whether 
that PR fixes the problem you're seeing?
 
----------------------------------------------------------------
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: 397679)
    Time Spent: 3h 40m  (was: 3.5h)

> Grouping By LogicalTypes is not supported
> -----------------------------------------
>
>                 Key: BEAM-9424
>                 URL: https://issues.apache.org/jira/browse/BEAM-9424
>             Project: Beam
>          Issue Type: Bug
>          Components: sdk-java-core
>    Affects Versions: 2.19.0
>            Reporter: fdiazgon
>            Assignee: fdiazgon
>            Priority: Minor
>              Labels: sql
>          Time Spent: 3h 40m
>  Remaining Estimate: 0h
>
> Creating a schema from a BQ schema that has either TIME, DATE or DATETIME 
> columns, and grouping by one of these fields throws NullPointerException.
> {code:java}
> Pipeline pipeline = Pipeline.create();
> Schema beamSchemaWithLogicalTypes =
>     BigQueryUtils.fromTableSchema(
>         new TableSchema()
>             .setFields(
>                 Arrays.asList(
>                     new TableFieldSchema().setName("fTime").setType("TIME"),
>                     new TableFieldSchema().setName("fDate").setType("DATE"),
>                     new 
> TableFieldSchema().setName("fDatetime").setType("DATETIME"))));
> Row row =
>     Row.withSchema(beamSchemaWithLogicalTypes)
>         .addValues(
>             DateTime.parse("2020-02-02"),
>             DateTime.parse("2020-02-02"),
>             DateTime.parse("2020-02-02T00:00:00"))
>         .build();
> PCollection<Row> outputRow =
>     pipeline
>         .apply(Create.of(row))
>         .setRowSchema(beamSchemaWithLogicalTypes)
>         .apply(
>             SqlTransform.query(
>                 "SELECT fTime, fDate, fDatetime FROM PCOLLECTION GROUP BY 
> fTime, fDate, fDatetime"));
> pipeline.run();
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to