This is an automated email from the ASF dual-hosted git repository.
pabloem pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git
The following commit(s) were added to refs/heads/master by this push:
new ee236d6 Add support for BigQuery data types aliases to
BigQueryAvroUtils
new 1837ea5 Merge pull request #15060 from [BEAM-10176] Support STRUCT,
FLOAT64, INT64 BigQuery types
ee236d6 is described below
commit ee236d63628951bafd825a5fbdc8b52488dd990b
Author: Tobias Hermann <[email protected]>
AuthorDate: Tue Jun 22 13:53:28 2021 +0200
Add support for BigQuery data types aliases to BigQueryAvroUtils
---
.../org/apache/beam/sdk/io/gcp/bigquery/BigQueryAvroUtils.java | 7 +++++++
1 file changed, 7 insertions(+)
diff --git
a/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQueryAvroUtils.java
b/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQueryAvroUtils.java
index 45ecb29..f465fd9 100644
---
a/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQueryAvroUtils.java
+++
b/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQueryAvroUtils.java
@@ -76,12 +76,16 @@ class BigQueryAvroUtils {
.put("GEOGRAPHY", Type.STRING)
.put("BYTES", Type.BYTES)
.put("INTEGER", Type.LONG)
+ .put("INT64", Type.LONG)
.put("FLOAT", Type.DOUBLE)
+ .put("FLOAT64", Type.DOUBLE)
.put("NUMERIC", Type.BYTES)
.put("BIGNUMERIC", Type.BYTES)
.put("BOOLEAN", Type.BOOLEAN)
+ .put("BOOL", Type.BOOLEAN)
.put("TIMESTAMP", Type.LONG)
.put("RECORD", Type.RECORD)
+ .put("STRUCT", Type.RECORD)
.put("DATE", Type.STRING)
.put("DATE", Type.INT)
.put("DATETIME", Type.STRING)
@@ -326,9 +330,11 @@ class BigQueryAvroUtils {
return v.toString();
}
case "INTEGER":
+ case "INT64":
verify(v instanceof Long, "Expected Long, got %s", v.getClass());
return ((Long) v).toString();
case "FLOAT":
+ case "FLOAT64":
verify(v instanceof Double, "Expected Double, got %s", v.getClass());
return v;
case "NUMERIC":
@@ -352,6 +358,7 @@ class BigQueryAvroUtils {
verify(v instanceof Long, "Expected Long, got %s", v.getClass());
return formatTimestamp((Long) v);
case "RECORD":
+ case "STRUCT":
verify(v instanceof GenericRecord, "Expected GenericRecord, got %s",
v.getClass());
return convertGenericRecordToTableRow((GenericRecord) v,
fieldSchema.getFields());
case "BYTES":