Опубликовано 6 июня, 2025 - 09:12 пользователем an2k
1. Подключение к серверу
ssh user@192.168.121.170
2. Создание папки проекта
mkdir pi cd pi
Здесь pi — имя папки для проекта «Вычисление числа Пи».
3. Написание кода
nano pi.py
В начале файла инициализируйте Spark-сессию:
from pyspark.sql import SparkSession spark = SparkSession.builder.appName("Pi").getOrCreate()
В конце программы обязательно завершайте сессию:
spark.stop()
4. Подготовка виртуальной среды Python
python3 -m venv venv source venv/bin/activate
Установите необходимые пакеты:
pip install venv-pack <и_другие_пакеты>
Упакуйте виртуальную среду:
venv-pack -o env.tar.gz -f
Примечание: используйте venv-pack для создания переносимого архива среды. Это обеспечивает совместимость среды на всех узлах кластера.
5. Запуск программы на кластере
Базовая команда:
spark-submit --archives env.tar.gz#env --jars /opt/spark-plugins/rapids-4-spark_2.12-25.04.0.jar pi.py 100
Для работы с PostgreSQL добавьте необходимые JAR-файлы:
spark-submit \ --archives env.tar.gz#env \ --driver-class-path /opt/spark-plugins/postgresql-42.7.7.jar \ --jars /opt/spark-plugins/rapids-4-spark_2.12-25.04.0.jar,/opt/spark-plugins/postgresql-42.7.7.jar \ pi.py 100
Актуальные версии jar-файлов (плагинов) всегда можно найти в папке:
/opt/spark-plugins/
6. Завершение работы
deactivate
Веб-интерфейсы кластера
- JupyterLab: http://192.168.121.170:8000
- Spark Master UI: http://192.168.121.170:8080
- Spark History Server: http://192.168.121.170:18080
Краткие рекомендации и пояснения
- Архивация среды: используйте только tar.gz или zip формат для передачи среды через --archives.
- Совместимость: готовьте виртуальную среду на той же версии Python, что и на кластере.
- Пакеты: все необходимые для работы библиотеки должны быть установлены до упаковки среды.
- JAR-файлы: для интеграции с внешними источниками данных обязательно указывайте соответствующие драйверы через --jars и --driver-class-path.
- Мониторинг: для отладки используйте опцию --verbose и просматривайте логи Spark.
Ссылки на документацию Apache Spark
- PySpark: https://spark.apache.org/docs/latest/api/python/user_guide/index.html — руководство пользователя PySpark
- Spark SQL, DataFrames and Datasets: https://spark.apache.org/docs/latest/sql-programming-guide.html — руководство по обработке данных
- Structured Streaming: https://spark.apache.org/docs/latest/streaming/index.html — руководство по потоковой обработке данных
- MLlib (машинное обучение): https://spark.apache.org/docs/latest/ml-guide.html — руководство по библиотеке машинного обучения
- GraphX (графовые алгоритмы): https://spark.apache.org/docs/latest/graphx-programming-guide.html — руководство по работе с графами
Категория:
- Блог пользователя an2k
- Войдите, чтобы оставлять комментарии
- 62 просмотра