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

对比项 PySpark Pandas
处理规模 TB / PB 级大数据 仅适合小数据(<10GB)
计算方式 分布式计算(集群) 单机计算
性能 基于内存计算,优化执行 纯 Python,计算较慢
并行化 自动并行 需手动优化
SQL 支持 Spark SQL 仅支持 DataFrame 操作
机器学习 MLlib,分布式训练 Scikit-learn,仅限小数据

🔥 如果数据 <10GB,推荐 Pandas;如果数据 >10GB,推荐 PySpark!

5. PySpark 示例

python 复制代码
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()

# 关闭 Spark
spark.stop()
相关推荐
奋斗的牛马6 小时前
FPGA—ZYNQ学习Helloward(二)
单片机·嵌入式硬件·学习·fpga开发
亚马逊云开发者6 小时前
利用 CloudWatch AIOps 实现智能化根因分析与故障排查
人工智能
一个处女座的程序猿O(∩_∩)O6 小时前
一个完整的AI项目从需求分析到部署的全流程详解
人工智能·需求分析
WHFENGHE6 小时前
输电线路绝缘子污秽度在线监测装置工作原理及优势解析
人工智能
IDOlaoluo6 小时前
win64_11gR2_client.zip 怎么安装?Oracle 11g 客户端详细安装步骤
数据库·oracle
呆呆小金人6 小时前
SQL入门:别名使用完全指南
大数据·数据库·数据仓库·sql·数据库开发·etl·etl工程师
IT小哥哥呀6 小时前
5G与人工智能:驱动制造业数字化转型
人工智能·5g·智能制造·数字化转型
说私域6 小时前
开源AI大模型AI智能名片S2B2C商城小程序在护肤品文案痛点表达中的应用与效果研究
人工智能·小程序
IT_陈寒6 小时前
SpringBoot 3.2新特性盘点:这5个隐藏功能让你的开发效率翻倍 🚀
前端·人工智能·后端
说私域6 小时前
信息传递视角下开源AI智能名片链动2+1模式S2B2C商城小程序对零售企业的赋能研究
人工智能·小程序·零售