схема local: / URI для пути "spark.yarn.jars" - PullRequest
0 голосов
/ 07 сентября 2018

Я новичок в поиске и пытаюсь понять код в моем проекте и работать над ним. При создании сеанса spark я вижу в коде одну запись для конфигурации в виде - .config ("spark.yarn.jars", "local: / cloudera / opt / xx / xxjars / *").

Я не мог понять упоминание схемы URI как "local: /". Что это значит, кто-то может помочь?

Я поработал с Google и нашел одну страницу , в которой упоминается схема, но не смог найти ни одной детали, на которую он ссылается?

1 Ответ

0 голосов
/ 08 февраля 2019

Насколько я понимаю, «local: // path / to / file» означает, что путь к файлу должен находиться в локальной файловой системе каждого рабочего узла, в отличие, например, от hdfs (hdfs: /// путь / к / файлу).

Таким образом, в первом случае файл должен находиться в отдельной файловой системе каждого узла, во втором случае достаточно, чтобы он находился где-то в формате hdf и был загружен на узлы при запуске контекста искры.

Поведение объясняется в документации Spark :

Spark использует следующую схему URL, чтобы использовать разные стратегии распространения jar-файлов:

  • file: - Абсолютные пути и файл: / URI обслуживаются файловым сервером HTTP драйвера, и каждый исполнитель извлекает файл с HTTP-сервера драйвера.
  • hdfs :, http :, https :, ftp: - эти файлы и файлы JAR из URI, как и ожидалось,
  • local: - ожидается, что URI, начинающийся с local: /, будет существовать как локальный файл на каждом рабочем узле. Это означает, что никакого сетевого ввода-вывода не будет, и он хорошо работает для больших файлов / JAR-файлов, которые передаются каждому работнику или совместно используются через NFS, GlusterFS и т. Д.

Для больших файлов лучше использовать локальный режим или иметь их в формате hdf, но иметь коэффициент репликации = количество узлов, поэтому местоположение файла hdfs-replication-местоположение действительно всегда совпадает с узлом, на котором работает ваш контейнер .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...