PySpark 入門

PySpark 入門

Benjamin Schmidt

Data Engineer

認識你的講師

  • 近 10 年 PySpark 資料實務經驗
  • 使用 PySpark 做機器學習、ETL 等多種任務

  • 熱衷教學,帶你上手新工具!

-Ben Schmidt

PySpark 入門

什麼是 PySpark?

  • 分散式資料處理:可在叢集上處理大型資料集

  • 支援多種格式:CSV、Parquet、JSON

  • 整合 SQL,可用 Python 與 SQL 查詢資料

  • 為大規模運算最佳化、速度快

Data_ecosystem

PySpark 入門

何時使用 PySpark?

  • 大數據分析

  • 分散式資料處理

  • 即時資料串流

  • 大型資料集上的機器學習

  • ETL 與 ELT 流水線

  • 連接多元資料來源:

    1. CSV
    2. JSON
    3. Parquet
    4. 還有更多
PySpark 入門

Spark 叢集

主節點(Master)

  • 管理叢集、協調任務並排程作業

工作節點(Worker)

  • 執行主節點指派的任務
  • 負責實際運算,並將資料存於記憶體或磁碟

Master node

Worker node

PySpark 入門

SparkSession

  • SparkSession 讓你連到 Spark 叢集,是使用 PySpark 的關鍵。
# Import SparkSession
from pyspark.sql import SparkSession

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

$$

  • .builder() 建立工作階段
  • getOrCreate() 建立或取得工作階段
  • .appName() 方便管理多個工作階段
PySpark 入門

PySpark DataFrame

  • 與一般 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...