Introduction to PySpark

PySpark เบื้องต้น

Benjamin Schmidt

Data Engineer

พบกับผู้สอน

  • ประสบการณ์ด้านข้อมูลกับ PySpark เกือบทศวรรษ
  • ใช้ PySpark สำหรับ Machine Learning, งาน ETL และอื่น ๆ อีกมาก

  • ผู้สอนที่หลงใหลในการแนะนำเครื่องมือใหม่ ๆ

-Ben Schmidt

PySpark เบื้องต้น

PySpark คืออะไร?

  • การประมวลผลข้อมูลแบบกระจาย: ออกแบบมาเพื่อจัดการชุดข้อมูลขนาดใหญ่บนคลัสเตอร์

  • รองรับรูปแบบข้อมูลหลากหลาย ทั้ง CSV, Parquet และ JSON

  • การผสาน SQL ช่วยให้คิวรีข้อมูลได้ทั้ง Python และ SQL

  • เพิ่มประสิทธิภาพสำหรับความเร็วในการทำงานที่ขนาดใหญ่

Data_ecosystem

PySpark เบื้องต้น

เมื่อไรควรใช้ PySpark?

  • การวิเคราะห์ข้อมูลขนาดใหญ่

  • การประมวลผลข้อมูลแบบกระจาย

  • การสตรีมข้อมูลแบบเรียลไทม์

  • Machine learning บนชุดข้อมูลขนาดใหญ่

  • ETL และ ELT pipeline

  • รองรับแหล่งข้อมูลที่หลากหลาย:

    1. CSV
    2. JSON
    3. Parquet
    4. และอื่น ๆ อีกมากมาย
PySpark เบื้องต้น

Spark cluster

Master Node

  • จัดการคลัสเตอร์ ประสานงาน และจัดตารางงาน

Worker Nodes

  • รันงานที่ได้รับมอบหมายจาก master
  • รับผิดชอบการประมวลผลจริงและจัดเก็บข้อมูลในหน่วยความจำหรือดิสก์

Master node

Worker node

PySpark เบื้องต้น

SparkSession

  • SparkSession ช่วยให้เข้าถึง Spark cluster ได้ และเป็นสิ่งสำคัญสำหรับการใช้ PySpark
# Import SparkSession
from pyspark.sql import SparkSession

# Initialize a SparkSession
spark = SparkSession.builder.appName("MySparkApp").getOrCreate()

$$

  • .builder() ตั้งค่า session
  • getOrCreate() สร้างหรือดึง session ที่มีอยู่
  • .appName() ช่วยจัดการหลาย session
PySpark เบื้องต้น

PySpark DataFrames

  • คล้ายกับ DataFrame อื่น ๆ แต่
  • ได้รับการปรับให้เหมาะกับ PySpark
# Import and initialize a Spark session
from pyspark.sql import SparkSession
spark = SparkSession.builder.appName("MySparkApp").getOrCreate()

# Create a DataFrame
census_df = spark.read.csv("census.csv",
                ["gender","age","zipcode","salary_range_usd","marriage_status"])

# Show the DataFrame
census_df.show()

PySpark เบื้องต้น

มาฝึกกันเถอะ!

PySpark เบื้องต้น

Preparing Video For Download...