PySpark:用 Python 使用 Spark

使用 PySpark 的大数据基础

Upendra Devisetty

Science Analyst, CyVerse

PySpark 概览

  • Apache Spark 使用 Scala 编写

  • 为在 Spark 中支持 Python,社区发布了 PySpark

  • 计算速度与能力与 Scala 接近

  • PySpark API 与 Pandas、Scikit-learn 相似

使用 PySpark 的大数据基础

什么是 Spark shell?

  • 运行 Spark 作业的交互式环境

  • 便于快速交互式原型开发

  • Spark shell 可与磁盘或内存中的数据交互

  • 三种 Spark shell:

    • Spark-shell(Scala)

    • PySpark-shell(Python)

    • SparkR(R)

使用 PySpark 的大数据基础

PySpark shell

  • PySpark shell 是基于 Python 的命令行工具

  • PySpark shell 使数据科学家可操作 Spark 数据结构

  • PySpark shell 支持连接到集群

使用 PySpark 的大数据基础

理解 SparkContext

  • SparkContext 是进入 Spark 的入口

  • 入口用于连接 Spark 集群

  • 入口就像房子的钥匙

  • PySpark 有默认的 SparkContext:sc

1 https://www.datacamp.com/cheat-sheet/pyspark-cheat-sheet-spark-in-python
使用 PySpark 的大数据基础

检查 SparkContext

  • 版本: 获取 SparkContext 版本
sc.version
2.3.1
  • Python 版本: 获取 SparkContext 的 Python 版本
sc.pythonVer
3.6
  • Master: 集群 URL,或本地模式的本地字符串(SparkContext)
sc.master
local[*]
1 https://www.datacamp.com/cheat-sheet/pyspark-cheat-sheet-spark-in-python
使用 PySpark 的大数据基础

在 PySpark 中加载数据

  • SparkContext 的 parallelize() 方法
rdd = sc.parallelize([1,2,3,4,5])
  • SparkContext 的 textFile() 方法
rdd2 = sc.textFile("test.txt")
1 https://www.datacamp.com/cheat-sheet/pyspark-cheat-sheet-spark-in-python
使用 PySpark 的大数据基础

¡Vamos a practicar!

使用 PySpark 的大数据基础

Preparing Video For Download...