Agregação com notação de ponto em SQL
O código a seguir usa SQL para definir o valor de um dataframe chamado df.
df = spark.sql("""
SELECT *,
LEAD(time,1) OVER(PARTITION BY train_id ORDER BY time) AS time_next
FROM schedule
""")
- A cláusula
LEADtem uma função equivalente empyspark.sql.functions. - As cláusulas
PARTITION BYeORDER BYtêm, cada uma, uma função equivalente em notação de ponto chamada sobre o objetoWindow. - As seguintes importações estão disponíveis:
- from pyspark.sql import Window
- from pyspark.sql.functions import lead
Este exercício faz parte do curso
Introdução ao Spark SQL em Python
Instruções do exercício
- Crie um dataframe chamado
dot_dfque contenha o mesmo resultado dedf, usando notação de ponto em vez de SQL.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Obtain the identical result using dot notation
dot_df = df.withColumn('time_next', ____('time', 1)
.over(____.____('train_id')
.____('time')))