Все ли операции, которые вы пишете в искровом задании, выполняются в искровом кластере? - PullRequest
0 голосов
/ 24 апреля 2020
  1. скажем, для операции val a = 12 + 4 или чего-то простого. Будет ли он по-прежнему распределяться драйвером в кластер?

  2. Допустим, у меня есть карта, скажем Map [String, String] (очень большая, скажем, 1000000 пар значений ключа) (гипотетическое предположение)

Теперь, когда я получу * ("что-то"), будет ли это распределено по кластеру для получения этого значения? Если нет, то зачем использовать искру, если она не вычисляет простую задачу вместе?

Как определяется количество заданий, определяемых искрой, и количество заданий?

Если есть поток, и для каждого пакета выполняется некоторое действие. Для каждой партии создается новое задание?

1 Ответ

0 голосов
/ 24 апреля 2020

Ответы:

  1. Нет, это все еще вычисления на стороне драйвера.
  2. Если вы создаете карту в программе драйвера, то она остается на драйвере. Если вы попытаетесь получить доступ к ключу, он просто найдет карту, созданную вами в памяти драйвера, и вернет вам значение. Если вы создаете RDD из коллекции ( Reference ) и запускаете какое-либо преобразование, оно будет выполняться в кластере Spark.
  3. Количество разделов обычно соответствует количеству задач , Вы можете явно указать, сколько разделов вы хотите, когда вы распараллеливаете коллекцию (например, карту в вашем случае)
  4. Да, будет задание, созданное для действий, выполняемых в каждом пакете.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...