1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Foundations of PySpark

Connected

Cvičení

Vytváření sloupců

V této kapitole se naučíš používat metody třídy DataFrame ze Sparku k provádění běžných datových operací.

Podívejme se na operace se sloupci. Ve Sparku k tomu slouží metoda .withColumn(), která přijímá dva argumenty. Prvním je řetězec s názvem nového sloupce, druhým samotný nový sloupec.

Nový sloupec musí být objektem třídy Column. Vytvořit ho je jednoduché – stačí extrahovat sloupec z DataFrame pomocí df.colName.

Aktualizace Spark DataFrame se trochu liší od práce v pandas, protože Spark DataFrame je immutable (neměnný). To znamená, že ho nelze přímo upravit, a proto nelze sloupce aktualizovat na místě.

Všechny tyto metody tedy vracejí nový DataFrame. Chceš-li původní DataFrame přepsat, musíš vrácený DataFrame znovu přiřadit pomocí metody takto:

df = df.withColumn("newCol", df.oldCol + 1)

Výše uvedený kód vytvoří DataFrame se stejnými sloupci jako df, navíc s novým sloupcem newCol, kde každá hodnota odpovídá příslušné hodnotě ze sloupce oldCol zvýšené o jedničku.

Chceš-li přepsat existující sloupec, jednoduše předej jeho název jako první argument!

Nezapomeň, že v tvém pracovním prostoru je již k dispozici SparkSession s názvem spark.

Pokyny

100 XP
  • Pomocí metody spark.table() s argumentem "flights" vytvoř DataFrame obsahující hodnoty tabulky flights z .catalog. Ulož ho jako flights.
  • Zobraz prvních několik řádků flights pomocí flights.show(). Podívej se na výstup: sloupec air_time obsahuje délku letu v minutách.
  • Aktualizuj flights tak, aby obsahoval nový sloupec duration_hrs s délkou každého letu v hodinách (budeš muset vydělit air_time počtem minut v hodině).