El objetivo de mi canalización de Apache Beam es tomar datos de una tabla en BigQuery y luego enviarlos a un archivo de parquet.

Estoy intentando utilizar WriteToParquet PTransform en mi canalización de Apache Beam, que requiere que schema se pase como pyarrow.Schema.

Esta parte de mi código asigna diferentes tipos de esquema de BigQuery a varios esquemas pyarrow:

data_type_mapping = {
    'STRING': pyarrow.string(),
    'BYTES': pyarrow.string(),
    'INTEGER': pyarrow.int64(),
    'INT64': pyarrow.int64(),
    'FLOAT64': pyarrow.float64(),
    'FLOAT': pyarrow.float64(),
    'BOOLEAN': pyarrow.bool_(),
    'TIMESTAMP': pyarrow.timestamp(unit='ms'),
    'DATE': pyarrow.date32(),
    'DATETIME': pyarrow.string()
}

El problema es que hay un tipo de datos en BigQuery, RECORD, y no sé cómo asignarlo al esquema pyarrow correcto.

Estos son los distintos tipos de datos disponibles. Cual puedo usar?

0
DZvig 26 ago. 2020 a las 17:59

1 respuesta

La mejor respuesta