Wprowadzenie do PySpark DataFrames

Podstawy Big Data z PySpark

Upendra Devisetty

Science Analyst, CyVerse

Czym są PySpark DataFrames?

  • PySpark SQL to biblioteka Spark do danych strukturalnych. Dostarcza informacji o strukturze danych i obliczeniach

  • PySpark DataFrame to niemutowalna, rozproszona kolekcja danych z nazwanymi kolumnami

  • Przeznaczona do przetwarzania danych strukturalnych (np. relacyjne bazy danych) i częściowo strukturalnych (np. JSON)

  • Dataframe API jest dostępne w Pythonie, R, Scali i Javie

  • DataFrames w PySpark obsługują zapytania SQL (SELECT * from table) oraz metody wyrażeń (df.select())

Podstawy Big Data z PySpark

SparkSession – punkt wejścia do DataFrame API

  • SparkContext to główny punkt wejścia do tworzenia RDD

  • SparkSession zapewnia pojedynczy punkt dostępu do pracy z Spark DataFrames

  • SparkSession służy do tworzenia DataFrame, rejestrowania DataFrames i wykonywania zapytań SQL

  • SparkSession jest dostępny w powłoce PySpark jako spark

Podstawy Big Data z PySpark

Tworzenie DataFrames w PySpark

  • Dwie metody tworzenia DataFrames w PySpark

    • Z istniejących RDD za pomocą metody createDataFrame() SparkSession

    • Z różnych źródeł danych (CSV, JSON, TXT) za pomocą metody read SparkSession

  • Schemat kontroluje dane i pomaga DataFrames optymalizować zapytania

  • Schemat zawiera informacje o nazwie kolumny, typie danych, wartościach pustych itp.

Podstawy Big Data z PySpark

Tworzenie 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
Podstawy Big Data z PySpark

Tworzenie DataFrame z pliku 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")
  • Ścieżka do pliku i dwa opcjonalne parametry

  • Dwa opcjonalne parametry

    • header=True, inferSchema=True
Podstawy Big Data z PySpark

Czas na ćwiczenia!

Podstawy Big Data z PySpark

Preparing Video For Download...