es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Formato de Fuerza ADF almacenado en Parquet desde actividad de copia.

He creado un pipeline de ADF que convierte un archivo delimitado a parquet en nuestro datalake. He agregado una columna adicional y establecido el valor utilizando la siguiente expresión @convertfromutc(utcnow(),'GMT Standard Time','o'). El problema que tengo es que cuando veo el archivo parquet, regresa en formato de EE. UU.

Por ejemplo, 25/11/2021 14:25:49

Incluso si uso @if(pipeline().parameters.LoadDate,json(concat('[{"name": "LoadDate" , "value": "',formatDateTime(convertfromutc(utcnow(),'GMT Standard Time','o')),'"}]')),NULL) para tratar de forzar el formato en la columna adicional, aún regresa en el archivo parquet en formato de EE. UU.

¿Algún idea de por qué podría ser y cómo puedo hacer que esto se produzca en parquet como una marca de tiempo adecuada?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Parece que el problema aquí está relacionado con la conversión del formato de la marca de tiempo. La función convertfromutc() se utiliza para convertir la hora UTC a una zona horaria específica, pero no cambia el formato de la marca de tiempo. El formato predeterminado de la marca de tiempo en el archivo parquet de salida probablemente lo determinen la configuración actual del sistema o el formato predeterminado de la fábrica de datos.

    Para mostrar la marca de tiempo en un formato específico, puede usar la función formatDateTime() con una cadena de formato personalizada. Por ejemplo, para mostrar la marca de tiempo en formato ISO (yyyy-MM-ddTHH:mm:ssZ), puede usar la siguiente expresión:

    @formatDateTime(convertfromutc(utcnow(),'GMT Standard Time','o'),'yyyy-MM-ddTHH:mm:ssZ')
    

    Puede reemplazar la cadena de formato con el formato deseado. Asegúrese de que el formato sea compatible con el formato parquet.

    Si desea establecer el valor de la columna en una marca de tiempo específica, puede usar la función utcnow() para obtener la hora UTC actual y luego aplicar la función formatDateTime() para convertirla al formato deseado.

    @formatDateTime(utcnow(),'yyyy-MM-ddTHH:mm:ssZ')
    

    Al usar la función formatDateTime() con una cadena de formato personalizada, puede mostrar la marca de tiempo en el formato deseado en el archivo parquet.

Comments are closed.