跳转至

第二章:环境搭建

2.1 安装 Spark

使用 pip 安装 PySpark

# 安装 PySpark
pip install pyspark

# 验证安装
pyspark --version

下载完整 Spark

# 下载 Spark
wget https://archive.apache.org/dist/spark/spark-3.5.0/spark-3.5.0-bin-hadoop3.tgz

# 解压
tar -xzf spark-3.5.0-bin-hadoop3.tgz
mv spark-3.5.0-bin-hadoop3 /opt/spark

# 配置环境变量
echo 'export SPARK_HOME=/opt/spark' >> ~/.bashrc
echo 'export PATH=$PATH:$SPARK_HOME/bin' >> ~/.bashrc
source ~/.bashrc

2.2 Spark Shell

PySpark Shell

# 启动 PySpark Shell
pyspark

# 创建 SparkSession
spark = SparkSession.builder \
    .appName("MyApp") \
    .master("local[*]") \
    .getOrCreate()

# 测试
df = spark.range(10)
df.show()

Spark SQL CLI

# 启动 Spark SQL
spark-sql

spark-sql> SHOW DATABASES;
spark-sql> CREATE DATABASE test;
spark-sql> USE test;
spark-sql> CREATE TABLE users (id INT, name STRING);

2.3 SparkSession 配置

from pyspark.sql import SparkSession

# 基本配置
spark = SparkSession.builder \
    .appName("MyApp") \
    .master("local[*]") \
    .getOrCreate()

# 完整配置
spark = SparkSession.builder \
    .appName("MyApp") \
    .master("spark://master:7077") \
    .config("spark.executor.memory", "4g") \
    .config("spark.executor.cores", "2") \
    .config("spark.driver.memory", "2g") \
    .config("spark.sql.shuffle.partitions", "200") \
    .enableHiveSupport() \
    .getOrCreate()

# 关闭 SparkSession
spark.stop()

2.4 集群部署

Standalone 模式

# 启动 Master
$SPARK_HOME/sbin/start-master.sh

# 启动 Worker
$SPARK_HOME/sbin/start-worker.sh spark://master:7077

# 提交应用
spark-submit --master spark://master:7077 myapp.py

YARN 模式

# 提交到 YARN
spark-submit \
    --master yarn \
    --deploy-mode cluster \
    --executor-memory 4g \
    --executor-cores 2 \
    --num-executors 10 \
    myapp.py

小结

  1. PySpark 可以通过 pip 快速安装
  2. SparkSession 是 Spark 2.0+ 的入口
  3. 支持多种运行模式:Local、Standalone、YARN、K8s

参考资料