第二章:环境搭建
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
小结
- PySpark 可以通过 pip 快速安装
- SparkSession 是 Spark 2.0+ 的入口
- 支持多种运行模式:Local、Standalone、YARN、K8s
参考资料