[ 
https://issues.apache.org/jira/browse/BEAM-12375?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17549228#comment-17549228
 ] 

Danny McCormick commented on BEAM-12375:
----------------------------------------

This issue has been migrated to https://github.com/apache/beam/issues/20835

> ReadFromBigQuery doesn't support DATETIME type
> ----------------------------------------------
>
>                 Key: BEAM-12375
>                 URL: https://issues.apache.org/jira/browse/BEAM-12375
>             Project: Beam
>          Issue Type: Bug
>          Components: io-go-gcp
>    Affects Versions: 2.29.0
>            Reporter: Sayat Satybaldiyev
>            Priority: P3
>
> ReadFromBigQuery with Avro export by documentation should produce a python 
> native object i.e. datetime.datetime. 
> > the BigQuery types for DATE, DATETIME, TIME, and TIMESTAMP will be exported 
> >as strings. This behavior is consistent with BigQuerySource. When using Avro 
> >exports, these fields will be exported as native Python types 
> >(datetime.date, datetime.datetime, datetime.datetime, and datetime.datetime 
> >respectively)
>  
> However, in practice this doesn't happen as BigQuery doesn't have a type that 
> maps to Avro logical type.
>  
> > *Note:* There is no logical type that directly corresponds to {{DATETIME}}, 
> >and BigQuery doesn't support any direct conversion from an Avro type into a 
> >{{DATETIME}} field.
>  
> I've also checked manually the AVRO export file that get exported to GCS. The 
> logical type in Avro schema for BQ is `datetime`.
> {"name":"datetime_col","type":["null",\{"type":"string","logicalType":"datetime"}]}
>  
> Avro spec doesn't support `datetime` logical type[3] nor FastAvro library[4] 
> that is used underneath to read the avro files.
>  
> Resources:
> [1] 
> [https://beam.apache.org/releases/pydoc/2.29.0/apache_beam.io.gcp.bigquery.html#apache_beam.io.gcp.bigquery.ReadFromBigQuery]
> [2] 
> [https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-avro#logical_types]
> [3] 
> https://avro.apache.org/docs/1.8.0/spec.html#Logical+Types|https://avro.apache.org/docs/1.8.0/spec.html#Logical+Types]
> [4] https://fastavro.readthedocs.io/en/latest/logical_types.html
>  



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to