Tom Hardman created BEAM-10233:
----------------------------------

             Summary: Return error message/information with existing FAILED_ROW 
data from BigQueryWriteFn (Python SDK)
                 Key: BEAM-10233
                 URL: https://issues.apache.org/jira/browse/BEAM-10233
             Project: Beam
          Issue Type: Improvement
          Components: io-py-gcp
            Reporter: Tom Hardman


A user may call `apache_beam.io.gcp.bigquery.WriteToBigQuery` to write their 
streamed data to BQ. I any rows fail to write, this will return a tagged 
pcollection `BigQueryWriteFn.FAILED_ROWS`. This data includes a tuple 
`(destination_table, failed_row_payload)`.

My suggestion is to include the error information in the `FAILED_ROWS` 
pcollection. From the source code we can see that we have access to the error 
information, e.g. that the row failed because field `id` was `invalid` because 
`this field is not a record`. I think we should surface this to the user.

I'm happy to open a PR this myself (as I've already had to overwrite the 
original code in several projects), but it looks like we'd need a breaking 
change by either extending the tuple which would cause unpacking issues in 
existing code, or by returning a different data structure entirely.



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

Reply via email to