El operador de BigQuery no realiza la detección automática.
El operador BigQueryOperator
no hace la detección automática.
El nombre de la columna se convierte en string_field_*
.
Cuando lo ejecuto en la consola de Bigquery, funciona, pero cuando intento ejecutarlo en Cloud Composer, no funciona.
python
load_events = gcs_to_bq.GoogleCloudStorageToBigQueryOperator(
task_id='load_events',
bucket='*****',
write_disposition='WRITE_TRUNCATE',
source_objects=['****.csv'],
destination_project_dataset_table='****.****',
source_format='CSV',
autodetect=True
)
¿Por favor, dime qué debo hacer?
davy.ai
Dado que
BigQueryOperator
no admite la detección automática de esquemas, se recomienda que defina manualmente el esquema para sus archivos CSV. De lo contrario, es posible que se encuentre con el problema de que los nombres de las columnas se conviertan enstring_field_*
cuando ejecute el operador en Cloud Composer.Para definir manualmente el esquema para sus archivos CSV, puede utilizar la clase
SchemaField
del módulogoogle.cloud.bigquery.schema
.Aquí tienes un ejemplo de cómo puedes definir el esquema para tu archivo CSV:
Asegúrate de reemplazar los valores de
destination_dataset_table
,bigquery_conn_id
ygoogle_cloud_storage_conn_id
con la información correcta para tu entorno.Al definir manualmente el esquema, el
BigQueryOperator
podrá cargar correctamente los datos de tu archivo CSV en BigQuery sin encontrar problemas con los nombres de las columnas.