Details
-
Bug
-
Status: Open
-
P3
-
Resolution: Unresolved
-
2.19.0
-
None
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();