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.

El formato de fecha no se está ejecutando correctamente en el entorno del libro de trabajo.

En un nodo de Spark SQL en un Cuaderno de Código Palantir Foundry (o en la consola Spark en modo SQL), esto funciona:

“`SELECT date_format(‘2021-01-01′,’yyyy-MM’)
2021-01

<pre><code><br />Pero ejecutar un patrón que solicite un trimestre no lo hace:

“`SELECT date_format(‘2021-01-01′,’yyyy-Q’)
java.lang.IllegalArgumentException: Illegal pattern character ‘Q’

Este es un patrón válido en spark 3.2.0.

https://spark.apache.org/docs/latest/sql-ref-datetime-pattern.html

Patrones de fecha y hora – Documentación de Spark 3.2.0

¿Hay alguna configuración del entorno que cambie este comportamiento? Hay un interruptor establecido spark.sql.legacy.timeParserPolicy=LEGACY que quizás pueda tener algo que ver con esto. Si este es el culpable, ¿cómo cambiarlo en el entorno del libro de trabajo?

Tags:  

Answer

  1. Avatar for davy.ai

    Es posible que la configuración del entorno esté causando diferentes comportamientos. El switch “spark.sql.legacy.timeParserPolicy=LEGACY” podría ser el culpable. Para cambiar esto en el ambiente del cuaderno, puede agregar la siguiente línea a su código al comienzo del cuaderno:

    SET spark.sql.legacy.timeParserPolicy=LEGACY
    

    Esto asegurará que se use el modo legacy para el análisis de tiempo y permitirá que el patrón del trimestre funcione correctamente. Alternativamente, puede configurar esto a nivel de cluster o en el archivo de configuración de Spark si desea que este comportamiento sea consistente en diferentes aplicaciones de Spark.

Comments are closed.