Pyspark学习一:概述_pyspark是什么
PySpark 介绍 & 为什么使用 PySpark
官方文档:https://spark.apache.org/docs/latest/api/python/
1. PySpark 是什么?
PySpark 是 Apache Spark 的 Python API,提供了 大规模分布式计算能力,用于处理 大数据。
Spark 本身是一个 基于内存计算的分布式计算框架,比 Hadoop MapReduce 更快,适用于 批处理、流处理、机器学习和图计算。
PySpark = Spark(核心计算引擎) + Python API,允许 Python 开发者轻松使用 Spark 进行大规模数据处理。
2. 为什么使用 PySpark?
✅ 适用于大规模数据处理
- PySpark 可以在 集群(如 Hadoop YARN、Kubernetes、Standalone)上运行,处理 TB 或 PB 级数据。
- 适合处理 海量数据集,不受单机内存限制。
✅ 比 Hadoop MapReduce 快
- Spark 基于内存计算,比传统的 Hadoop MapReduce 更快(10-100 倍)。
- 支持 DAG(有向无环图)执行计划,优化计算过程。
✅ 兼容 Python 生态
- 支持 Pandas(通过
pyspark.pandas
)。 - 集成机器学习(通过
pyspark.ml
)。 - 可以与 NumPy、SciPy、Matplotlib 结合使用。
✅ 支持 SQL 查询
- PySpark 提供了 Spark SQL,可以用 SQL 语法操作大数据,方便分析。
✅ 支持流式计算
- PySpark 的 Structured Streaming 可用于实时数据处理,如 日志分析、监控、金融风控。
✅ 内置 ML 和图计算
- MLlib 提供了分布式机器学习库(支持回归、分类、聚类等)。
- GraphX 支持分布式图计算(如 PageRank)。
3. PySpark 适用场景
- 大规模 ETL(数据清洗、转换、加载)
- 数据分析(支持 SQL 查询)
- 机器学习(大规模训练,替代 pandas/scikit-learn)
- 流处理(Kafka + Spark Streaming)
- 实时数据分析(如推荐系统、风控、监控)
4. PySpark vs Pandas
🔥 如果数据 10GB,推荐 PySpark!
5. PySpark 示例
from pyspark.sql import SparkSession# 创建 Spark 会话spark = SparkSession.builder.appName(\"Example\").getOrCreate()# 读取 CSV 数据df = spark.read.csv(\"data.csv\", header=True, inferSchema=True)# 查询 & 处理数据df.filter(df[\"age\"] > 25).groupBy(\"city\").count().show()# 关闭 Sparkspark.stop()