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í:
Recuerda que si deseas participar:
- 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).
- 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).
- 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.