Uploaded image for project: 'Beam'
  1. Beam
  2. BEAM-9424

Grouping By LogicalTypes is not supported

Details

    • Bug
    • Status: Open
    • P3
    • Resolution: Unresolved
    • 2.19.0
    • None
    • sdk-java-core

    Description

      Creating a schema from a BQ schema that has either TIME, DATE or DATETIME columns, and grouping by one of these fields throws NullPointerException.

      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();
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            fdiazgon fdiazgon
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 4h 50m
                4h 50m