Úvod do PySpark DataFrames

Big Data Fundamentals with PySpark

Upendra Devisetty

Science Analyst, CyVerse

Co jsou PySpark DataFramy?

  • PySpark SQL je knihovna Spark pro strukturovaná data. Poskytuje více informací o struktuře dat a výpočtech

  • PySpark DataFrame je neměnná distribuovaná kolekce dat s pojmenovanými sloupci

  • Určen pro zpracování strukturovaných (např. relační databáze) i semistrukturovaných dat (např. JSON)

  • DataFrame API je dostupné v Pythonu, R, Scale a Javě

  • DataFramy v PySparku podporují SQL dotazy (SELECT * from table) i výrazové metody (df.select())

Big Data Fundamentals with PySpark

SparkSession – vstupní bod pro DataFrame API

  • SparkContext je hlavní vstupní bod pro vytváření RDD

  • SparkSession poskytuje jednotný vstupní bod pro práci se Spark DataFramy

  • SparkSession slouží k vytváření DataFramů, jejich registraci a spouštění SQL dotazů

  • SparkSession je v prostředí PySpark dostupná jako spark

Big Data Fundamentals with PySpark

Vytváření DataFramů v PySparku

  • Dvě metody vytváření DataFramů v PySparku

    • Z existujících RDD pomocí metody createDataFrame() SparkSession

    • Z různých datových zdrojů (CSV, JSON, TXT) pomocí metody read SparkSession

  • Schéma řídí data a pomáhá DataFramům optimalizovat dotazy

  • Schéma obsahuje informace o názvu sloupce, typu dat, prázdných hodnotách atd.

Big Data Fundamentals with PySpark

Vytvoření DataFrame z RDD

iphones_RDD = sc.parallelize([
    ("XS", 2018, 5.65, 2.79, 6.24),
    ("XR", 2018, 5.94, 2.98, 6.84),
    ("X10", 2017, 5.65, 2.79, 6.13),
    ("8Plus", 2017, 6.23, 3.07, 7.12)
])
names = ['Model', 'Year', 'Height', 'Width', 'Weight']
iphones_df = spark.createDataFrame(iphones_RDD, schema=names)

type(iphones_df)
pyspark.sql.dataframe.DataFrame
Big Data Fundamentals with PySpark

Vytvoření DataFrame ze souboru CSV/JSON/TXT

df_csv = spark.read.csv("people.csv", header=True, inferSchema=True)
df_json = spark.read.json("people.json")
df_txt = spark.read.txt("people.txt")
  • Cesta k souboru a dva volitelné parametry

  • Dva volitelné parametry

    • header=True, inferSchema=True
Big Data Fundamentals with PySpark

Vyzkoušejte si to!

Big Data Fundamentals with PySpark

Preparing Video For Download...