Usa parámetros de entorno de ejecución en transferencias de Cloud Storage

Cuando configuras una transferencia de Cloud Storage, la ruta de acceso de Cloud Storage y la tabla de destino se pueden parametrizar, lo que te permite cargar datos de los depósitos de Cloud Storage organizados por fecha. Los llamamos parámetros de entorno de ejecución para distinguirlos de otros parámetros.

Usar los parámetros de entorno de ejecución en una transferencia de Cloud Storage te permite hacer lo siguiente:

  • Especificar cómo deseas particionar la tabla de destino
  • Recuperar archivos de Cloud Storage que coincidan con una fecha en particular

Parámetros de entorno de ejecución disponibles

Cuando configuras la transferencia de Cloud Storage, puedes especificar cómo deseas particionar la tabla de destino con los parámetros de entorno de ejecución.

Parámetro Tipo de plantilla Valor
run_time Marca de tiempo con formato En horario UTC, según el programa. Para las transferencias programadas con regularidad, run_time representa el horario de ejecución previsto. Por ejemplo, si la transferencia se establece en “cada 24 horas”, la diferencia de run_time entre dos consultas consecutivas será de 24 horas exactas, aunque el tiempo de ejecución real puede variar un poco.

Consulta TransferRun.runTime
run_date String de fecha La fecha del parámetro run_time en el siguiente formato: %Y%m%d; por ejemplo, “20180101”. Este formato es compatible con tablas particionadas según tiempo de transferencia.

Sistema de plantillas

Las transferencias de Cloud Storage admiten parámetros de entorno de ejecución en el nombre de la tabla de destino a través de una sintaxis de plantillas.

Sintaxis de plantillas de parámetros

La sintaxis de plantillas admite plantillas de string y compensación horaria. Los parámetros se referencian en los siguientes formatos:

  • {run_date}
  • {run_time[+\-offset]|"time_format"}

Parámetro Motivo
run_date A este parámetro lo reemplaza la fecha en formato YYYYMMDD.
run_time Este parámetro admite las siguientes propiedades:


offset
Compensación horaria expresada en horas (h), minutos (m) y segundos (s) en ese orden.
Los días (d) no son compatibles.
Se permiten los decimales, por ejemplo: 1.5h.

time_format
Una string de formato. Los parámetros de formato más comunes son los años (%Y), los meses (%m), y los días (%d).
Para tablas particionadas, YYYYMMDD es el sufijo obligatorio, equivale a “%Y%m%d”.

Obtén más información sobre el formato de elementos de fecha y hora.

Notas de uso:

  • No se permiten espacios en blanco entre run_time, la compensación y el formato de hora.
  • Para incluir llaves literales en la string, puedes escaparlas así: ‘\{‘ and ‘\}’.
  • Para incluir comillas literales o una barra vertical en time_format, como “YYYY|MM|DD”, puedes escaparlas en la string de formato así: ‘\”’ o ‘\|’.

Ejemplos de plantillas de parámetros

Estos ejemplos demuestran la especificación de nombres de tablas de destino con diferentes formatos de hora y la compensación del tiempo de ejecución.
run_time (UTC) Parámetro con plantilla Nombre de la tabla de destino de salida
2018-02-15 00:00:00 mytable mytable
2018-02-15 00:00:00 mytable_{run_time|"%Y%m%d"} mytable_20180215
2018-02-15 00:00:00 mytable_+25h{run_time|"%Y%m%d"} mytable_20180216
2018-02-15 00:00:00 mytable_-1h{run_time|"%Y%m%d"} mytable_20180214
2018-02-15 00:00:00 mytable_+1.5h{run_time|"%Y%m%d;%H"}
o
mytable_+90m{run_time|"%Y%m%d;%H"}
mytable_2018021501
2018-02-15 00:00:00 {run_time+97s|"%Y%m%d"}_mytable_{run_time|"%H%M%s"} 20180215_mytable_000137

Opciones de partición

Las transferencias de Cloud Storage pueden escribir en tablas de destino particionadas o no particionadas. Hay dos tipos de partición de tablas en BigQuery:

  • Tablas particionadas por tiempo de transferencia: tablas que se particionan según el tiempo de transferencia, que es el tiempo que dura la ejecución de la transferencia en Cloud Storage.
  • Tablas particionadas: tablas que se particionan según una columna TIMESTAMP o DATE.

Si la tabla de destino está particionada en una columna, se identifica la columna de partición cuando se crea la tabla de destino y se especifica su esquema. Obtén más información sobre la creación de tablas particionadas según columnas en Crea y usa tablas particionadas.

Ejemplos de partición

Ejemplos de parámetros de entorno de ejecución

Estos ejemplos muestran formas de combinar el carácter comodín y los parámetros para casos prácticos comunes. Debes suponer que run_time es 2018-02-15 00:00:00 (UTC) para todos los ejemplos.

Si particionas tus datos en función de tu zona horaria local, debes calcular de forma manual la compensación horaria a partir de UTC con el mecanismo de compensación en la sintaxis de plantillas.

Transfiere datos de Cloud Storage a una tabla no particionada

Este caso práctico se aplica a la carga de nuevos archivos de un depósito de Cloud Storage a una tabla no particionada. En este ejemplo, se usa un comodín en el URI de Cloud Storage, además de una transferencia de actualización ad hoc para recoger nuevos archivos con al menos una hora de antigüedad.

Fuente (URI de Cloud Storage) Nombre de la tabla de destino
Configuradas gs://bucket/*.csv mytable
Evaluado gs://bucket/*.csv mytable

Carga una instantánea de todos los datos en una tabla particionada por tiempo de transferencia

En este caso, todos los datos en el URI de Cloud Storage especificado se transfieren a una tabla particionada según la fecha actual. En una transferencia de actualización, esta configuración recoge los archivos que se agregaron desde la última carga y los agrega a una partición particular.

Fuente (URI de Cloud Storage) Nombre de la tabla de destino
Configuradas gs://bucket/*.csv mytable${run_time|”%Y%m%d”}
Evaluado gs://bucket/*.csv my_table$20180215

Carga datos específicos de fecha en una tabla particionada por tiempo de transferencia

En este caso práctico, se transfieren los datos de Cloud Storage actuales a una tabla particionada según la fecha actual. Este ejemplo también se aplica a una transferencia de actualización que recupera los archivos recién agregados que coinciden con una fecha determinada y los carga en la partición correspondiente.

Fuente (URI de Cloud Storage) Nombre de la tabla de destino
Configuradas gs://bucket/events-{run_time|“%Y%m%d”}/*.csv mytable${run_time|”%Y%m%d”}
Evaluado gs://bucket/events-20180215/*.csv my_table$20180215

Pasos siguientes

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Si necesitas ayuda, visita nuestra página de asistencia.