Я отлаживаю искровое задание (pyspark) в коде в удаленном сеансе SSH (в коде инсайдеров)my launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: IDI Spark Training",
"type": "python",
"request": "launch",
"args": ["--queue", "ds-others"],
"linux": {
"pythonPath": "/bin/spark-submit"
},
"program": "${file}",
}
]
}
Чтобы мой кластер искры выполнил задание, мне нужно передать определенные имена очереди в команду spark-submit.Когда я выполняю задания вручную, я использую
spark-submit --queue ds-others training.py
, который отлично работает при выполнении в моем терминале
На основании приведенного выше файла launch.json, когда я запускаю отладчик, консоль отладки выполняет:
cd /hadoop/met_scripts/datascience/dnaanalytics_us_group/us_grp_mo_idi_fwa ; env PYTHONIOENCODING=UTF-8 PYTHONUNBUFFERED=1 /bin/spark-submit /home/nokyere/.vscode-server-insiders/extensions/ms-python.python-2019.5.17517/pythonFiles/ptvsd_launcher.py --default --client --host localhost --port 40845 /hadoop/met_scripts/datascience/dnaanalytics_us_group/us_grp_mo_idi_fwa/python/training.py --queue ds-others
Похоже, что vs код добавляет свои собственные аргументы сразу после spark-submit, но указанные мной аргументы передаются только после прохождения скрипта python.Это заставляет мою работу не работать, поэтому отладка не работает.Я не получаю сообщение об ошибке.Я только знаю, что задание не было запущено из-за того, как vs code добавляет аргументы, необходимые для запуска задания.Когда я отправляю работу через spark-submit и передаю аргументы после передачи имени скрипта, наблюдается то же поведение;но когда я передаю соглашения до того, как имя сценария работает, все нормально.
Интересно, почему vs code передает заданные пользователем аргументы после имени сценария, и если есть что-то, я могу изменить порядок, в котором VS Code передаетаргументы.Мне нужно, чтобы "--queue ds-others" предшествовал имени скрипта.Благодаря.