Lebih Lanjut tentang Spark DataFrames

Pengantar PySpark

Benjamin Schmidt

Data Engineer

Membuat DataFrames dari berbagai sumber data

  • File CSV: Umum untuk data terstruktur, dipisahkan
  • File JSON: Format data semi-terstruktur, hierarkis
  • File Parquet: Dioptimalkan untuk penyimpanan dan kueri, sering digunakan dalam rekayasa data
  • Contoh:
    spark.read.csv("path/to/file.csv")
    
  • Contoh:
    spark.read.json("path/to/file.json")
    
  • Contoh:
    spark.read.parquet("path/to/file.parquet")
    
1 https://spark.apache.org/docs/latest/api/python/reference/pyspark.pandas/api/pyspark.pandas.read_csv
Pengantar PySpark

Inferensi Skema dan Definisi Skema Manual

  • Spark dapat menyimpulkan skema dari data dengan inferSchema=True

  • Tentukan skema secara manual untuk kontrol lebih baik - berguna untuk struktur data tetap

Skema dalam Skala

Pengantar PySpark

Tipe Data dalam PySpark DataFrames

  • IntegerType: Bilangan bulat
    • Contoh: 1, 3478, -1890456
  • LongType: Bilangan bulat lebih besar
    • Contoh: Bilangan bertanda 8-byte, 922334775806
  • FloatType dan DoubleType: Bilangan titik mengambang untuk nilai desimal
    • Contoh: 3.14159
  • StringType: Digunakan untuk teks atau data string
    • Contoh: "Ini adalah contoh string."
  • ...
Pengantar PySpark

Sintaks Tipe Data untuk PySpark DataFrames

# Impor tipe yang diperlukan sebagai kelas
from pyspark.sql.types import (StructType,
                            StructField, IntegerType,
                            StringType, ArrayType)

# Bangun skema
schema = StructType([
    StructField("id", IntegerType(), True),
    StructField("name", StringType(), True),
    StructField("scores", ArrayType(IntegerType()), True)
])

# Tetapkan skema
df = spark.createDataFrame(data, schema=schema)
Pengantar PySpark

Operasi DataFrame - seleksi dan pemfilteran

  • Gunakan .select() untuk memilih kolom tertentu
  • Gunakan .filter() atau .where() untuk memfilter baris berdasarkan kondisi
  • Gunakan .sort() untuk mengurutkan berdasarkan kumpulan kolom
# Pilih dan tampilkan hanya kolom nama dan usia
df.select("name", "age").show()
# Filter usia > 30
df.filter(df["age"] > 30).show()
# Gunakan Where untuk memfilter nilai tertentu
df.where(df["age"] == 30).show()
# Gunakan Sort untuk mengurutkan berdasarkan usia
df.sort("age", ascending=False).show()
Pengantar PySpark

Mengurutkan dan menghapus nilai yang hilang

  • Urutkan data menggunakan .sort() atau .orderBy()
  • Gunakan na.drop() untuk menghapus baris dengan nilai null
# Urutkan menggunakan kolom usia
df.sort("age", ascending=False).show()

# Hapus nilai yang hilang
df.na.drop().show()

Pengantar PySpark

Panduan Singkat

  • spark.read_json(): Memuat data dari JSON
  • spark.read.schema(): Menentukan skema secara eksplisit
  • .na.drop(): Hapus baris dengan nilai yang hilang
  • .select(), .filter(), .sort(), .orderBy(): Fungsi manipulasi data dasar
Pengantar PySpark

Mari Berlatih!

Pengantar PySpark

Preparing Video For Download...