[ 
https://issues.apache.org/jira/browse/BEAM-13990?focusedWorklogId=758232&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-758232
 ]

ASF GitHub Bot logged work on BEAM-13990:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 19/Apr/22 03:14
            Start Date: 19/Apr/22 03:14
    Worklog Time Spent: 10m 
      Work Description: reuvenlax commented on PR #16926:
URL: https://github.com/apache/beam/pull/16926#issuecomment-1101950410

   @liu-du Friendly ping. If you don't have time, I can try and resolve the 
conflicts and merge this PR




Issue Time Tracking
-------------------

            Worklog Id:     (was: 758232)
    Remaining Estimate: 102h 40m  (was: 102h 50m)
            Time Spent: 17h 20m  (was: 17h 10m)

> BigQueryIO cannot write to DATE and TIMESTAMP columns when using Storage 
> Write API 
> -----------------------------------------------------------------------------------
>
>                 Key: BEAM-13990
>                 URL: https://issues.apache.org/jira/browse/BEAM-13990
>             Project: Beam
>          Issue Type: Improvement
>          Components: io-java-gcp
>    Affects Versions: 2.36.0
>            Reporter: Du Liu
>            Assignee: Du Liu
>            Priority: P2
>   Original Estimate: 120h
>          Time Spent: 17h 20m
>  Remaining Estimate: 102h 40m
>
> when using Storage Write API with BigQueryIO, DATE and TIMESTAMP values are 
> currently converted to String type in protobuf message. This is incorrect, 
> according to storage write api [documentation|#data_type_conversions],] DATE 
> should be converted to int32 and TIMESTAMP should be converted to int64.
> Here's error message: 
> INFO: Stream finished with error 
> com.google.api.gax.rpc.InvalidArgumentException: 
> io.grpc.StatusRuntimeException: INVALID_ARGUMENT: The proto field mismatched 
> with BigQuery field at D6cbe536b_4dab_4292_8fda_ff2932dded49.datevalue, the 
> proto field type string, BigQuery field type DATE Entity
> I have included an integration test here: 
> [https://github.com/liu-du/beam/commit/b56823d1d213adf6ca5564ce1d244cc4ae8f0816]
>  
> The problem is because DATE and TIMESTAMP are converted to String in protobuf 
> message here: 
> [https://github.com/apache/beam/blob/a78fec72d0d9198eef75144a7bdaf93ada5abf9b/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/TableRowToStorageApiProto.java#L69]
>  
> Storage Write API reject the request because it's expecting int32/int64 
> values. 
>  
> I've opened a PR here: https://github.com/apache/beam/pull/16926



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to