#azure-data-factory #azure-data-factory-2
Вопрос:
Существует ли ограничение на количество символов в строковой переменной ADF ? Я пытаюсь сохранить большой сценарий в переменной ADF , который, кажется, работает нормально, но это динамический сценарий, поэтому мне интересно, есть ли у него какие-либо ограничения на хранение? Мой вариант использования заключается в том , что на основе некоторого табличного ввода я формирую сценарий и мне нужно отправить его в какое-то вычисление , я не нашел другого решения, кроме использования строковой переменной.
Комментарии:
1. Мне это кажется рискованным подходом. Сценарий будет сложнее поддерживать и редактировать, сейчас он может быть в пределах допустимого, но о будущем, если сценарий потребуется расширить? Если это SQL-скрипт, превратите его в сохраненный процесс или, если это Python, Scala, c# или SparkSQL, сохраните его в записной книжке, например, в базе данных или в записной книжке Synapse.
2. сценарий автоматически генерируется на основе некоторого табличного ввода , который представляет собой всего лишь некоторые метаданные, это не сценарий sql , это сценарий adx , поэтому в конечном итоге он отправляется в кластер adx-проблема с использованием других инструментов для создания сценария, таких как python и т. Д., Мне понадобится выделенный вычислительный модуль только для этого, в то время как ADF имеет свои собственные готовые вычисления (служба интеграции).
3. количество символов в скрипте на данный момент составляет 600 тысяч , похоже, работает нормально. Похоже , лимит довольно высок:), все же было бы неплохо узнать лимит
Ответ №1:
Верхнего предела строковой переменной ADF не существует. Ни в каких документах об этом не говорилось, и я не могу найти никаких полезных сообщений.
Но я протестировал и обнаружил, что вы можете устанавливать длину значения переменной до тех пор, пока не получите ошибку браузера SBOX_FATAL_MEMORY_EXECEEDED. Я поместил 16-метровую строку в значение переменной:
Вы также можете установить строку большого размера в качестве значения переменной, чтобы доказать это. Ключ в том, что я не знаю, как его получить SBOX_FATAL_MEMORY
. Я погуглил и ничего об этом не нашел.
Надеюсь, это будет полезно для вас.