Pengantar PySpark DataFrames

Fundamental Big Data dengan PySpark

Upendra Devisetty

Science Analyst, CyVerse

Apa itu PySpark DataFrames?

  • PySpark SQL adalah pustaka Spark untuk data terstruktur. Memberi info lebih tentang struktur data dan komputasi

  • PySpark DataFrame adalah koleksi data terdistribusi tak berubah dengan kolom bernama

  • Dirancang untuk memproses data terstruktur (mis. basis data relasional) dan semi-terstruktur (mis. JSON)

  • API DataFrame tersedia di Python, R, Scala, dan Java

  • DataFrame di PySpark mendukung kueri SQL (SELECT * from table) atau metode ekspresi (df.select())

Fundamental Big Data dengan PySpark

SparkSession - Titik masuk untuk DataFrame API

  • SparkContext adalah titik masuk utama untuk membuat RDD

  • SparkSession memberi satu titik masuk untuk berinteraksi dengan Spark DataFrames

  • SparkSession digunakan untuk membuat DataFrame, mendaftarkan DataFrame, menjalankan kueri SQL

  • SparkSession tersedia di shell PySpark sebagai spark

Fundamental Big Data dengan PySpark

Membuat DataFrame di PySpark

  • Dua cara membuat DataFrame di PySpark

    • Dari RDD yang ada dengan metode SparkSession createDataFrame()

    • Dari berbagai sumber data (CSV, JSON, TXT) dengan metode read SparkSession

  • Skema mengontrol data dan membantu DataFrame mengoptimalkan kueri

  • Skema berisi info nama kolom, tipe data kolom, nilai kosong, dll.

Fundamental Big Data dengan PySpark

Buat DataFrame dari 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
Fundamental Big Data dengan PySpark

Buat DataFrame dari membaca 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")
  • Path ke file dan dua parameter opsional

  • Dua parameter opsional

    • header=True, inferSchema=True
Fundamental Big Data dengan PySpark

Ayo berlatih!

Fundamental Big Data dengan PySpark

Preparing Video For Download...