ComeçarComece de graça

Agregando a mesma coluna duas vezes

Há casos em que a notação por ponto pode ser mais trabalhosa do que SQL. Este exercício calcula os primeiros e últimos horários de cada linha de trem. O código a seguir faz isso usando a notação por ponto.

from pyspark.sql.functions import min, max, col
expr = [min(col("time")).alias('start'), max(col("time")).alias('end')]
dot_df = df.groupBy("train_id").agg(*expr)
dot_df.show()
+--------+-----+-----+
|train_id|start|  end|
+--------+-----+-----+
|     217|6:06a|6:59a|
|     324|7:59a|9:05a|
+--------+-----+-----+

Sua missão é obter o mesmo resultado usando uma consulta SQL. O dataframe df foi registrado como uma tabela chamada schedule.

Este exercício faz parte do curso

Introdução ao Spark SQL em Python

Ver curso

Instruções do exercício

  • Escreva uma consulta SQL que produza um resultado idêntico ao da consulta com notação por ponto.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Write a SQL query giving a result identical to dot_df
query = "SELECT ____ FROM schedule ____ ____ ____"
sql_df = spark.sql(query)
sql_df.show()
Editar e executar o código