Примечания к исследованию Pyspark (2) --- Введение в развертывание искры и команду искровой отправки.
Примечания к исследованию Pyspark (2) --- Введение в развертывание искры и команду искровой отправки.

Примечания к исследованию Pyspark (2) --- Введение в развертывание искры и команду искровой отправки.

Оглавление

Примечания к исследованию Pyspark (2) --- Введение в развертывание искры и команду искровой отправки.

1. Режим развертывания Spark

1.1 Локальный режим

1.2 Независимый кластер Spark (автономный режим развертывания)

1.3 Развертывание на основе Hadoop YARN

1.4 Развертывание на основе Kubernetes (т. е. k8s)

2. команда искровой отправки


1. Режим развертывания Spark

Ссылка на официальную документацию:https://spark.apache.org/docs/latest/cluster-overview.html#cluster-mode-overview

Распространенные шаблоны развертывания:

● локальный режим ● Независимый кластер Spark (автономный) Deploy Mode) ● На основе Hadoop YARN развертывать ● На основе Апача Mesosразвертывание (включена последняя версия Spark) ● на основеKubernetes(Прямо сейчасk8s)развертывать

Основное различие между различными режимами развертывания заключается в способе управления ресурсами между одним или несколькими узлами вычислительного кластера. Каждый режим развертывания Spark можно использовать в интерактивных (оболочках) и неинтерактивных (пакетных) приложениях. Ниже приводится краткое описание различныхразвертыватьрежим,Отправка задачи Заказ;Ссылки:Submitting Applications - Spark 3.3.0 Documentation

1.1 Локальный режим

Этот режим запускает процесс Spark на локальном компьютере и ограничен ресурсами локального компьютера. Обычно он используется для тестирования.

 Как видите, локальный, заполненный мастером, предназначен для выбора локального режиме и может быть записано как local[n] выбрать использование n ядер процессора;

1.2  Sparkнезависимый кластер(Standalone Deploy Mode)

Независимый кластер Spark — это встроенный («независимый») планировщик Spark, который не требует внешнего планировщика.

Заполните адрес и порт, где запускается основной процесс на мастере.

1.3 Развертывание на основе Hadoop YARN

Наиболее часто используемый режим развертывания — это использование инфраструктуры управления ресурсами YARN, предоставляемой Hadoop.,При использовании YARN в качестве планировщика,Предусмотрено два режима развертывания кластера.,Один из них — кластерный режим, Один из них — клиентский режим.

1.4 Развертывание на основе Kubernetes (т. е. k8s)

можно увидеть,Эти режимы развертывания имеют фиксированные форматы отправки заданий.,Можно сказать, что они похожи,Ниже будут представлены методы и параметры для отправки задач.

2. spark-submit Заказ

неинтерактивное приложение,проходитьspark-submitЗаказ Отправить задачу,Официальное объяснение показано по следующей ссылке:

Submitting Applications - Spark 3.2.1 Documentation

Сценарий искровой отправки находится в папке bin под инсталляцией искры.,В Заказе используются многоразовые модули в виде скриптов.,

Программная отправка задач в Spark,и может поддержатьРазличные менеджеры кластеров и режимы развертывания, поддерживаемые Spark.

Общий искровой заказ Заказ

Язык кода:javascript
копировать
${SPARK_HOME}/bin/spark-submit \

  --class <main-class> \

  --master <master-url> \

  --deploy-mode <deploy-mode> \

  --conf <key>=<value> \

  ... # other options

  <application-jar> \

  [application-arguments]

Параметры строки заказа

Эти параметры представлены один за другим ниже:

class

Точка входа приложения (например, org.apache.spark.examples.SparkPi).

master

Параметры, используемые для установки URL-адреса основного узла. Подробную информацию см. в официальной документации. Отправка приложений — документация Spark 3.3.0.

deploy-mode

Решите, будет ли развертываться драйвер на рабочем узле (кластере) или как внешний клиент (клиент) Локальное развертывание (по умолчанию: клиент)

conf

Любое свойство конфигурации Spark в формате «ключ-значение» для значений, содержащих пробелы, замените «key»; = value», заключенный в кавычки, несколько конфигураций следует передавать как отдельные параметры. (например, --conf <key> = <value> --conf <key2> = <value2>)

<application-jar>

Путь к связанному jar-файлу, включая ваше приложение и все зависимости. URL-адрес должен быть глобально видимым в кластере. Например, hdfs:// существует на всех узлах. путь или файл:// path。 [For Python applications, simply pass a .py file in the place of <application-jar> instead of a JAR, and add Python .zip, .egg or .py files to the search path with --py-files]

py-files

Список файлов .py или .zip, разделенных запятыми, включая приложения Python, которые будут доставлены каждому исполнителю для использования.

[application-arguments]

Параметры, передаваемые в основной метод основного класса (если есть)

name

Имя приложения; Примечание;,При создании SparkSession,Если указать имя приложения программно,Тогда параметры из строки Заказ будут переопределены.

files

Заказ дает список файлов, разделенных запятыми.,Эти файлы будут доставлены каждому исполнителю для использования.

properties-file

файл конфигурации. Он должен иметь те же настройки свойств, что и файл conf/spark-defaults.conf, и быть читаемым.

queue

Укажите имя очереди ресурсов, t (только для YARN).

version

Версия Spark для печати.

verbose

Распечатайте дополнительную информацию об отладке при запуске приложения.

help

Показать справочное сообщение и выйти.

Следующие четыре параметра, возможно, потребуется отладить в соответствии с реальной ситуацией при выполнении задач для улучшения использования ресурсов. На них можно сосредоточиться:

driver-core

Указывает количество ядер для драйвера. Значение по умолчанию — 1. (только пряжа)

driver-memory

Параметры, указывающие, сколько памяти приложение выделяет для драйвера, например 1000M, 2G; Значение по умолчанию — 1024M.

num-executors

Количество исполнителей стартовало. По умолчанию — 2. (только для пряжи)

exectuor-memory

Указывает, сколько памяти каждый исполнитель выделяет приложению. Значение по умолчанию — 1G.

executor-core

Количество ядер на исполнителя. (только для Spark и YARN), значение по умолчанию — 1 в режиме пряжи.

Существует также официальное объяснение значения этих профессиональных терминов: Cluster Mode Overview - Spark 3.3.0 Documentation Я взял несколько отрывков и написал их здесь. Для более подробного объяснения, пожалуйста, обратитесь к справочной документации:

Driver program

Процесс, который запускает функцию main() приложения и создает SparkContext.

Cluster manager

Внешние сервисы для получения ресурсов кластера (например, автономные менеджеры, Mesos, YARN, Kubernetes)

Worker node

Любой узел в кластере, на котором может выполняться код приложения.

Executor

Это процесс JVM в рабочем узле (Worker) в кластере, отвечающий за выполнение определенных задач (Task) в заданиях Spark, причем задачи независимы друг от друга. При запуске приложения Spark узел Executor запускается одновременно и всегда существует на протяжении всего жизненного цикла приложения Spark. Если узел Executor выйдет из строя или выйдет из строя, приложение Spark сможет продолжить выполнение, а задачи на вышедшем из строя узле будут запланированы для продолжения работы на других узлах Executor.

#############################################################################

Для получения дополнительных параметров вы можете использовать --help для просмотра:

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose