Nano Hash - криптовалюты, майнинг, программирование

Не удается запустить удаленные задания GNU Parallel для файлов в каталоге (каталог не найден)

Возникла проблема, из-за которой невозможно запустить удаленные задания GNU Parallel для команды parallel, которая запускает задания в кластере узлов, когда переменный аргумент основан на списке файлов в каталоге, выводимом шаблоном glob.

Команда выглядит так

bcpexport() {
    <do some stuff to the given file arg $1 to BCP copy file contents to some MSSQL Server>
}
export -f bcpexport
parallel -q -j 10 --sshloginfile /path/to/list/of/nodes.txt --env $bcpexport \
    bcpexport {} "$TO_SERVER_ODBCDSN" $DB $TABLE $USER $PASSWORD $RECOMMEDED_IMPORT_MODE $DELIMITER \
    ::: "$DATAFILES/$TARGET_GLOB"

При запуске на одном узле все работает нормально; шаблон "$DATAFILES/$TARGET_GLOB" glob имеет вид /path/to/a/set/of/files/*.tsv (который существует как ссылка NFS на общую файловую систему (которая, как я могу подтвердить, доступна со всех других узлов)). Однако при использовании опции --sshloginfile для удаленного выполнения на других узлах см. ошибку

/bin/bash: строка 27: /path/to/a/set/of/files/*.tsv: Нет такого файла или каталога

как будто функция получает сам шаблон глобуса как имя файла (а не имя файла из списка файлов, возвращаемых глобусом (как это происходит при работе в одноузловом режиме)).

Если кто-нибудь знает, что здесь происходит, советы и предложения будут оценены.

09.10.2018

Ответы:


1

Обнаружено, что проблема заключалась в том, что при использовании параметра -q (который использовался в команде для ввода аргумента "$TO_SERVER_ODBCDSN" в параллельное задание без разделения строковой переменной, в которой были пробелы). Раскавычивание переменной шаблона глобуса "$DATAFILES/$TARGET_GLOB" просто $DATAFILES/$TARGET_GLOB решило проблему.

09.10.2018
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..