Inizia subitoInizia 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 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 interattivo pratico

Prova questo esercizio completando questo 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