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":

Reply via email to