Я работаю над настройкой конвейера CI/CD для рабочей области Azure Synapse, и мне нужно создать настраиваемые параметры в процессе развертывания для обработки значений, зависящих от среды. В частности, мне нужно переопределить имя пула Apache Spark, используемое в среде разработки (synDEVSPark), на имя производственного пула Apache Spark (synPROSPark1).
Я выполнил инструкции из документации Microsoft, но столкнулся с ошибкой во время задачи развертывания синапса.
Вот шаги, которые я предпринял:
Несмотря на эти усилия, развертывание завершается неудачей со следующей ошибкой (показано на изображении ниже):
Failed to fetch the deployment status {"code":"400","message":"CreateOrUpdateNotebook failed: [statusCode from ADF:BadRequest, ErrorMessage:{\"code\":\"BadRequest\",\"message\":\"The document creation or update failed because of invalid reference 'synDEVSPark'...
Я также прочитал сообщение в блоге , использованное в комментарии к похожему вопросу, в котором упоминалось использование информации в файле JSON, определяющем связанную службу, для создания переопределения параметра. Однако synDEVSPark — это не связанная служба, а пул Apache Spark в пулах Analytics, поэтому кажется, что сообщение в блоге не может мне помочь в этом случае.
Как правильно переопределить имя пула Apache Spark в задаче развертывания Synapse, чтобы гарантировать, что он использует рабочий пул Spark (synPROSPark1) вместо пула Spark разработки (synDEVSPark)? Существует ли особый способ ссылки на пул Apache Spark в параметрах, учитывая, что это не связанная служба?
Буду очень признателен за любую помощь или рекомендации о том, что я делаю неправильно или как правильно настроить параметры переопределения.
Спасибо!
звучит великолепно, @wadezhou-MSFT, я постараюсь опубликовать результаты, спасибо
Если вы просто обновляете JSON напрямую, имейте в виду, что существуют и другие узлы объектов, которые также требуют обновления. В частности, метаданные.a365ComputeOptions.name и метаданные.a365ComputeOptions.sparkVersion — очень жаль, что у Synapse нет «Связанной» ссылки для пулов Spark или способа обновления существующих ссылок. Это было бы особенно полезно, если бы они принудительно удалили старые версии Spark, как они сейчас делают с версией 2.4.
@JoelCochran, спасибо за ваш комментарий. Приятно осознавать, что в Synapse невозможно обновить ссылки на пул Spark. Я сходил с ума! XD
@TsuKernik, вы можете проверить ссылку , где есть руководство по развертыванию с новым пулом искр.
@wadezhou-MSFT, большое спасибо! Этот пост в блоге меня спас!
Рад знать, что это помогает :), пожалуйста. Я опубликую ссылку на блог ниже, чтобы она могла помочь другим, у кого есть такие же вопросы, спасибо.
Чтобы переопределить имя пула Apache Spark в блокнотах, вы можете следить за обновлениями в блоге файла определения шаблона (template-parameters-definition.json):
Может быть, вы можете попробовать заменить
spark pool
на новый во всех местахmanually
, напримерTemplateForWorkspace.json
иnotebook.json
, сначала проверьте, работает ли это. После того, как это заработает, вы можете проверить минимально необходимые изменения и рассмотреть возможность использования Заменить токены для замены имени пула искр перед развертыванием в CICD.