Конвейер Azure Synapse CI/CD: переопределить имя пула Apache Spark в ноутбуках

Я работаю над настройкой конвейера CI/CD для рабочей области Azure Synapse, и мне нужно создать настраиваемые параметры в процессе развертывания для обработки значений, зависящих от среды. В частности, мне нужно переопределить имя пула Apache Spark, используемое в среде разработки (synDEVSPark), на имя производственного пула Apache Spark (synPROSPark1).

Я выполнил инструкции из документации Microsoft, но столкнулся с ошибкой во время задачи развертывания синапса.

Вот шаги, которые я предпринял:

  1. Создал файл template-parameters-definition.json для определения параметров (показан на изображении ниже).
  2. Настройте параметр переопределения в задаче развертывания Synapse (показано на изображении ниже).
  3. Создана переменная конвейера для хранения имени производственного пула Apache Spark (показано на изображении ниже).

Несмотря на эти усилия, развертывание завершается неудачей со следующей ошибкой (показано на изображении ниже):

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 в параметрах, учитывая, что это не связанная служба?

Буду очень признателен за любую помощь или рекомендации о том, что я делаю неправильно или как правильно настроить параметры переопределения.

Спасибо!

Может быть, вы можете попробовать заменить spark pool на новый во всех местах manually, например TemplateForWorkspace.json и notebook.json, сначала проверьте, работает ли это. После того, как это заработает, вы можете проверить минимально необходимые изменения и рассмотреть возможность использования Заменить токены для замены имени пула искр перед развертыванием в CICD.

wade zhou - MSFT 30.07.2024 14:08

звучит великолепно, @wadezhou-MSFT, я постараюсь опубликовать результаты, спасибо

Tsu Kernik 30.07.2024 14:30

Если вы просто обновляете JSON напрямую, имейте в виду, что существуют и другие узлы объектов, которые также требуют обновления. В частности, метаданные.a365ComputeOptions.name и метаданные.a365ComputeOptions.sparkVersion — очень жаль, что у Synapse нет «Связанной» ссылки для пулов Spark или способа обновления существующих ссылок. Это было бы особенно полезно, если бы они принудительно удалили старые версии Spark, как они сейчас делают с версией 2.4.

Joel Cochran 30.07.2024 16:16

@JoelCochran, спасибо за ваш комментарий. Приятно осознавать, что в Synapse невозможно обновить ссылки на пул Spark. Я сходил с ума! XD

Tsu Kernik 30.07.2024 16:20

@TsuKernik, вы можете проверить ссылку , где есть руководство по развертыванию с новым пулом искр.

wade zhou - MSFT 30.07.2024 16:41

@wadezhou-MSFT, большое спасибо! Этот пост в блоге меня спас!

Tsu Kernik 31.07.2024 11:49

Рад знать, что это помогает :), пожалуйста. Я опубликую ссылку на блог ниже, чтобы она могла помочь другим, у кого есть такие же вопросы, спасибо.

wade zhou - MSFT 31.07.2024 12:32
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
7
71
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Чтобы переопределить имя пула Apache Spark в блокнотах, вы можете следить за обновлениями в блоге файла определения шаблона (template-parameters-definition.json):

https://techcommunity.microsoft.com/t5/azure-synapse-analytics-blog/cicd-automation-in-synapse-analytics-takeing-advantage-of-custom/ba-p/3513546

Другие вопросы по теме

Похожие вопросы