Pascal GILLET created BEAM-12479:
------------------------------------

             Summary: UnsupportedOperationException when reading from BigQuery 
tables and converting TableRows to Beam Rows
                 Key: BEAM-12479
                 URL: https://issues.apache.org/jira/browse/BEAM-12479
             Project: Beam
          Issue Type: Bug
          Components: io-java-gcp
    Affects Versions: 2.29.0
         Environment: Beam Java SDK
            Reporter: Pascal GILLET
            Assignee: Pascal GILLET
             Fix For: 2.32.0


{{UnsupportedOperationException}}s are thrown in

{{org.apache.beam.sdk.io.gcp.bigquery.BigQueryUtils#toBeamValue(FieldType, 
Object)}}

when reading from BigQuery tables with 

{{org.apache.beam.sdk.io.gcp.bigquery.BigQueryIO#readTableRowsWithSchema()}} 
and converting the returned {{TableRow}}s to Beam {{Row}}s

Example:
{code:java}
PCollection<Row> rows =
 pipeline
 .apply(
 "Read from BigQuery table",
 BigQueryIO.readTableRowsWithSchema().from(String.format("%s:%s.%s", project, 
dataset, table)))
 .apply(Convert.toRows());{code}
 

{{UnsupportedOperationException}} messages are of the type:

{{Converting BigQuery type "java.lang.Boolean" to "BOOLEAN" is not supported}}

{{Converting BigQuery type "java.lang.Double" to "DOUBLE" is not supported}}

And so on for numeric types...

 

Indeed, the method {{BigQueryUtils#toBeamValue(FieldType, Object)}} expects 
only {{String}} objects or {{Collection}}s of {{String}}s.

I propose a pull request to also support {{Number}} and {{Boolean}} objects. 

 

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to