Kom igångKom igång gratis

Urval med select

Sparks motsvarighet till SQL:s SELECT är metoden .select(). Den tar flera argument – ett för varje kolumn du vill välja. Argumenten kan antingen vara kolumnnamnet som en sträng eller ett kolumnobjekt (med syntaxen df.colName). När du skickar in ett kolumnobjekt kan du utföra operationer som addition eller subtraktion på kolumnen för att ändra dess data, precis som inuti .withColumn().

Skillnaden mellan .select() och .withColumn() är att .select() returnerar enbart de kolumner du anger, medan .withColumn() returnerar alla kolumner i DataFrame:en plus den du definierat. Det är ofta en god idé att ta bort kolumner du inte behöver i början av en operation, så att du inte bär med dig onödig data under bearbetningen. I det fallet använder du .select() i stället för .withColumn().

Kom ihåg att en SparkSession vid namn spark redan finns i din arbetsmiljö, tillsammans med Spark DataFrame:en flights.

Den här övningen är en del av kursen

Grunderna i PySpark

Visa kurs

Övningsinstruktioner

  • Välj kolumnerna "tailnum", "origin" och "dest" från flights genom att skicka in kolumnnamnen som strängar. Spara resultatet som selected1.
  • Välj kolumnerna "origin", "dest" och "carrier" med syntaxen df.colName och filtrera sedan resultatet med hjälp av de två filter som redan är definierade (filterA och filterB), så att bara flygningar från SEA till PDX behålls. Spara resultatet som selected2.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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(____)
Redigera och kör kod