Semana 29 - Snowpark & Python

Las habilidades de Snowpark se verán cada vez más útiles a medida que pase el tiempo, y por esta razón, ¡estamos publicando otro desafío de Snowpark!

Esta semana, estamos registrando UDF.

Su código de inicio se encuentra a continuación: creará una tabla para usted que tiene empleados y sus fechas de inicio. 

create or replace file format frosty_csv    type = csv    skip_header = 1    field_optionally_enclosed_by = '"';create stage w29_stage    url = 's3://frostyfridaychallenges/challenge_29/'    file_format = frosty_csv;list @w29_stage;create table week29 as     select t.$1::int as id,         t.$2::varchar(100) as first_name,         t.$3::varchar(100) as surname,         t.$4::varchar(250) as email,         t.$5::datetime as start_date from @w29_stage (pattern=>'.*start_dates.*') t;

Debe crear una UDF que produzca un año fiscal para start_date. La lógica debería ser que si el mes es de mayo en adelante * entonces el año fiscal debería ser el año en curso +1, de lo contrario, el año en curso.

Por ejemplo:

2022-05-13 = AF23

2022-02-11=AF22

Una vez que haya escrito su UDF, ejecute el siguiente código:

data = session.table("week29").select(    col("id"),    col("first_name"),    col("surname"),    col("email"),    col("start_date"),    fiscal_year("start_date").alias("fiscal_year"))data.show()

y

data.group_by("fiscal_year").agg(col("*"), "count").show()

El resultado debería verse así:

TextoDescripción generada automáticamente

Recuerda que si deseas participar:

  1. Regístrate como miembro de Frosty Friday. Puedes hacerlo haciendo clic en la barra lateral y luego yendo a "REGISTRARSE" (ten en cuenta que unirte a nuestra lista de correo no te proporcionará una cuenta de Frosty Friday).
  2. Publica tu código en GitHub y asegúrate de que sea de acceso público (consulta nuestra guía si no sabes cómo hacerlo).
  3. Publica la URL en los comentarios del desafío.

Si tienes alguna pregunta técnica que te gustaría plantear a la comunidad, puedes hacerlo aquí, en nuestro hilo dedicado a estos retos.

Previous
Previous

Semana 30 - Administración

Next
Next

Semana 29 – Intermedio