PySpark 简介

PySpark 入门

Benjamin Schmidt

Data Engineer

讲师介绍

  • 近十年 PySpark 数据经验
  • 使用 PySpark 做机器学习、ETL 等

  • 热衷于为所有人讲授新工具

-Ben Schmidt

PySpark 入门

什么是 PySpark?

  • 分布式数据处理:在集群上处理海量数据

  • 支持多种数据格式:CSV、Parquet、JSON 等

  • SQL 集成:可用 Python 或 SQL 查询数据

  • 面向规模的高性能优化

数据生态

PySpark 入门

何时使用 PySpark?

  • 大数据分析

  • 分布式数据处理

  • 实时数据流处理

  • 大规模机器学习

  • ETL/ELT 流水线

  • 连接多种数据源:

    1. CSV
    2. JSON
    3. Parquet
    4. 以及更多
PySpark 入门

Spark 集群

主节点

  • 管理集群,协调任务并调度作业

工作节点

  • 执行主节点分配的任务
  • 负责实际计算,并将数据存于内存或磁盘

主节点

工作节点

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 入门

Let's practice!

PySpark 入门

Preparing Video For Download...