Êtes-vous curieux ?
L'un des avantages de l'interface DataFrame est que vous pouvez exécuter des requêtes SQL sur les tableaux de votre cluster Spark. Si vous n'avez pas d'expérience avec SQL, ne vous inquiétez pas, nous vous fournirons des questions ! (Pour en savoir plus sur SQL, commencez par notre cours Introduction à SQL ).
Comme vous l'avez vu dans le dernier exercice, l'un des tableaux de votre cluster est le tableau flights
. Ce tableau contient une ligne pour chaque vol ayant quitté l'aéroport international de Portland (PDX) ou l'aéroport international de Seattle-Tacoma (SEA) en 2014 et 2015.
L'exécution d'une requête sur ce tableau est aussi simple que l'utilisation de la méthode .sql()
sur votre SparkSession
. Cette méthode prend une chaîne contenant la requête et renvoie un DataFrame avec les résultats !
Si vous y regardez de plus près, vous remarquerez que le tableau flights
n'est mentionné que dans la requête, et non en tant qu'argument d'une quelconque méthode. En effet, il n'existe pas d'objet local dans votre environnement qui contienne ces données, et il serait donc absurde de transmettre le tableau en tant qu'argument.
Rappelez-vous que nous avons déjà créé un site SparkSession
appelé spark
dans votre espace de travail. (Il ne s'appelle plus my_spark
car nous l'avons créé pour vous).
Cet exercice fait partie du cours
Introduction à PySpark
Instructions
- Utilisez la méthode
.sql()
pour obtenir les 10 premiers tableaux du tableauflights
et enregistrez le résultat dansflights10
. La variablequery
contient la requête SQL appropriée. - Utilisez la méthode DataFrame
.show()
pour imprimerflights10
.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Don't change this query
query = "FROM flights SELECT * LIMIT 10"
# Get the first 10 rows of flights
flights10 = ____
# Show the results
flights10.____