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

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

                Author: ASF GitHub Bot
            Created on: 05/Mar/20 16:33
            Start Date: 05/Mar/20 16:33
    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-595322444
 
 
   @kanterov this is because (as I mentioned before) Row.getValue today always 
returns the base type (in this case int), because that's how we store it. This 
has the side effect of passing the base value into your combiner, which is 
currently expecting the value type.
   
   This inconsistency keeps causing strange effects like this. I think we need 
getValue to return the same types passed into addValues (the value type). I'm 
trying to think of a good way to do this without breaking other semantics and 
impacting performance.
 
----------------------------------------------------------------
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: 398480)
    Time Spent: 4h 20m  (was: 4h 10m)

> 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: 4h 20m
>  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