IniziaInizia gratis

Selezione

La variante Spark del SELECT di SQL è il metodo .select(). Questo metodo accetta più argomenti, uno per ogni colonna che vuoi selezionare. Gli argomenti possono essere il nome della colonna come stringa (uno per ciascuna colonna) oppure un oggetto colonna (usando la sintassi df.colName). Quando passi un oggetto colonna, puoi eseguire operazioni come addizioni o sottrazioni sulla colonna per modificare i dati in essa contenuti, in modo simile a quanto fai con .withColumn().

La differenza tra i metodi .select() e .withColumn() è che .select() restituisce solo le colonne che specifichi, mentre .withColumn() restituisce tutte le colonne del DataFrame oltre a quella che hai definito. Spesso conviene eliminare all’inizio le colonne che non ti servono, così da non portarti dietro dati extra mentre fai data wrangling. In questo caso useresti .select() e non .withColumn().

Ricorda: una SparkSession chiamata spark è già disponibile nel tuo workspace, insieme al DataFrame di Spark flights.

Questo esercizio fa parte del corso

Fondamenti di PySpark

Visualizza il corso

Istruzioni dell'esercizio

  • Seleziona le colonne "tailnum", "origin" e "dest" da flights passando i nomi delle colonne come stringhe. Salva il risultato in selected1.
  • Seleziona le colonne "origin", "dest" e "carrier" usando la sintassi df.colName e poi filtra il risultato applicando entrambi i filtri già definiti per te (filterA e filterB) per mantenere solo i voli da SEA a PDX. Salva il risultato in selected2.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Select the first set of columns
selected1 = flights.select("____", "____", "____")

# Select the second set of columns
temp = flights.select(____.____, ____.____, ____.____)

# Define first filter
filterA = flights.origin == "SEA"

# Define second filter
filterB = flights.dest == "PDX"

# Filter the data, first by filterA then by filterB
selected2 = temp.filter(____).filter(____)
Modifica ed esegui il codice