بخش اول: مفاهیم پایه و مبانی اسپارک
بخش دوم: بهینه‌سازی و معماری داخلی اسپارک
بخش سوم : پردازش داده‌های جریانی

نصب و راه اندازی اسپارک ۴ به صورت محلی به کمک ژوپیتر نوت‌بوک و PySpark – محتوای ویدئویی

Apache Spark 4 نسل جدید پردازش توزیع‌شده و موتور محبوب داده است که با قابلیت‌هایی مانند Catalyst 3.0، پشتیبانی از Python 3.12، Spark Connect، بهبود Row-Oriented Execution و سازگاری بیشتر با Lakehouse وارد عصر تازه‌ای شده است.
اگر می‌خواهید یادگیری اسپارک را از پایه و به‌صورت عملی آغاز کنید، بهترین نقطه شروع این است که اسپارک را روی لپ‌تاپ خود نصب و آن را با PySpark + Jupyter Notebook اجرا کنید.

در این مقاله، قدم‌به‌قدم فرآیند زیر را پوشش می‌دهیم:


فهرست مطالب

  1. پیش‌نیازها
  2. نصب Java JDK
  3. نصب Python با ابزار UV
  4. دانلود و استخراج Spark
  5. تنظیم متغیرهای محیطی
  6. نصب PySpark
  7. راه‌اندازی Spark Standalone Cluster
  8. اجرای Jupyter Notebook
  9. تست PySpark در Jupyter
  10. توقف Master و Worker
  11. رفع خطا و مشکلات رایج

۱. پیش‌نیازها

این آموزش مناسب محیط‌های زیر است:

  • Windows (با WSL Ubuntu)
  • Linux (Ubuntu/Debian)
  • macOS

در هر سه پلتفرم، فرایند نصب یکسان است و تنها دستورات تفاوت‌هایی جزئی دارند.

دقت کنید که اگر بر روی ویندوز قصت نصب و راه اندازی اسپارک را دارید، ابتدا WSL را راه اندازی و سپس یک توزیع مناسب از لینوکس مانند Ubuntu 24 بر روی آن نصب کنید. (مطابق فیلم آموزشی این بخش)


۲. نصب Java JDK

Spark 4 با JDK 21 بهترین سازگاری را دارد.

نصب در WSL / Linux
sudo apt update
sudo apt install openjdk-21-jdk -y
java --version
نصب در macOS
brew install openjdk@21
echo 'export PATH="/opt/homebrew/opt/openjdk@21/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
java --version

۳. نصب Python با UV

UV یک package manager بسیار سریع و مدرن است.

نصب UV
curl -LsSf https://astral.sh/uv/install.sh | sh
نصب Python 3.12
uv python install 3.12
uv python list

۴. دانلود و استخراج Spark 4

به صفحه دانلود آپاچی اسپارک بروید و نسخه ۴.x را دانلود کنید.

در WSL یا Linux:

cd ~
mkdir spark
cd spark
wget https://archive.apache.org/dist/spark/spark-4.0.1/spark-4.0.1-bin-hadoop3.tgz
tar xzvf spark-4.0.1-bin-hadoop3.tgz
mv spark-4.0.1-bin-hadoop3/* .

۵. تنظیم متغیرهای محیطی

در ~/.bashrc یا ~/.zshrc:

export SPARK_HOME=$HOME/spark
export PATH=$SPARK_HOME/bin:$PATH
export PATH=$SPARK_HOME/sbin:$PATH
export PYSPARK_PYTHON=python3
export PYSPARK_DRIVER_PYTHON=python3

سپس:

source ~/.bashrc

۶. نصب PySpark با UV

cd ~
mkdir spark-workspace
cd spark-workspace

uv init --python 3.12
uv add pyspark notebook findspark pandas numpy matplotlib

۷. راه‌اندازی Spark Standalone Cluster

اگرچه می‌توان اسپارک را در حالت local mode اجرا کرد، اما توصیه می‌شود یک کلستر کوچک standalone روی لپ‌تاپ بسازید تا رفتار واقعی اسپارک را مشاهده کنید.

تنظیم spark-env.sh
cp $SPARK_HOME/conf/spark-env.sh.template $SPARK_HOME/conf/spark-env.sh
nano $SPARK_HOME/conf/spark-env.sh

و اضافه کنید:

export SPARK_WORKER_CORES=2
export SPARK_WORKER_INSTANCES=2
export SPARK_WORKER_MEMORY=1G
شروع Master
$SPARK_HOME/sbin/start-master.sh --webui-port 8080

Master UI:

http://localhost:8080
شروع Worker
$SPARK_HOME/sbin/start-worker.sh spark://localhost:7077

۸. اجرای Jupyter Notebook
cd ~/spark-workspace
source .venv/bin/activate

export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS='notebook'

jupyter notebook

Notebook در مسیر زیر باز می‌شود:

http://localhost:8888

۹. تست PySpark

ایجاد SparkSession
import findspark
findspark.init()

from pyspark.sql import SparkSession

spark = SparkSession.builder \
    .appName("Spark Workshop") \
    .master("local[*]") \
    .config("spark.driver.memory", "2g") \
    .getOrCreate()

spark
تست RDD
rdd = spark.sparkContext.parallelize(range(100))
rdd.filter(lambda x: x % 3 == 0).take(10)
تست DataFrame
df = spark.createDataFrame([
    (۱, "Alice", 28),
    (۲, "Bob", 35),
    (۳, "Charlie", 42)
], ["id", "name", "age"])

df.filter(df.age > 30).show()
تست SQL
df.createOrReplaceTempView("people")
spark.sql("SELECT * FROM people WHERE age > 30").show()

۱۰. توقف سرویس‌ها

$SPARK_HOME/sbin/stop-master.sh
$SPARK_HOME/sbin/stop-worker.sh
$SPARK_HOME/sbin/stop-all.sh

۱۱. مشکلات رایج و رفع آن‌ها

Python worker failed to connect back

در Jupyter:

import os, sys
os.environ['PYSPARK_PYTHON'] = sys.executable
os.environ['PYSPARK_DRIVER_PYTHON'] = sys.executable
Port Already in Use
lsof -i :8080
kill -9 <PID>
Java Not Found
sudo apt install openjdk-21-jdk
export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64

نتیجه‌گیری

اکنون شما:

  • اسپارک ۴ را نصب کرده‌اید
  • آن را در چند حالت (local و standalone) اجرا کرده‌اید
  • PySpark را در Jupyter Notebook تست کرده‌اید
  • با UI ها و ساختار اجرای اسپارک آشنا شده‌اید

این دقیقاً اولین قدم مهم برای یادگیری اسپارک و ورود به دنیای پردازش داده در مقیاس بزرگ است.


🎥 ویدئوی آموزشی

ویدئوی کامل این بخش (نصب و راه‌اندازی اسپارک ۴ و اجرای Jupyter با PySpark) در همین قسمت زیر قابل مشاهده است.

⚠️ نکته: اگر ویدئو در قسمت زیر برای شما بارگذاری یا نمایش داده نمی‌شود، ابتدا مطمئن شوید که با آی‌پی ایران صفحه را مشاهده می‌کنید (فیلترشکن خاموش باشد) و در صورت نیاز، یک اینترنت پروایدر دیگر را امتحان کنید.

فروشگاه
جستجو
دوره ها

لطفا کلمات کلیدی را وارد کنید