Скрипт модели¶
В среде выполнения используется язык Python 3.10
before_all¶
| Параметр | Описание |
|---|---|
app |
Доступ к контексту текущего выполняемого приложения (см. Application) |
spark |
Текущая сессия в Spark (см. SparkSession) |
*args, **kwargs |
Стандартные дополнительные параметры python-функций (см. пояснение ниже) |
after_load_*¶
Вместо * указывается model_name соответствующего объекта. Это значение можно уточнить в разделе "Модель" редактора
скрипта.
| Параметр | Описание |
|---|---|
df |
Датафрейм с данными модели (см. DataFrame). Названия столбцов соответствуют model_name полей объекта моделей (можно уточнить в разделе "Модель" редактора) |
app |
Доступ к контексту текущего выполняемого приложения (см. Application) |
spark |
Текущая сессия в Spark (см. SparkSession) |
*args, **kwargs |
Стандартные дополнительные параметры python-функций (см. пояснение ниже) |
after_all¶
| Параметр | Описание |
|---|---|
df |
Датафрейм с данными модели (см. DataFrame). Названия столбцов соответствуют model_name полей объекта моделей (можно уточнить в разделе "Модель") |
app |
Доступ к контексту текущего выполняемого приложения (см. Application) |
spark |
Текущая сессия в Spark (см. SparkSession) |
*args, **kwargs |
Стандартные дополнительные параметры python-функций (см. пояснение ниже) |
Использование *args, **kwargs в определении функций¶
При заполнении скрипта модели настоятельно рекомендуется добавлять в конец стандартные дополнительные параметры
языка Python *args, **kwargs.
В будущих версиях Analytic Workspace состав параметров функций может дополниться новыми значениями. При установке
такого обновления все функции, в объявлении которых не будет указано *args, **kwargs, начнут выдавать ошибку.
Доступные библиотеки¶
В целях безопасности испольнения скриптов модели, в Analytic Workspace список возможных для импорта модулей ограничен.
При попытке импортировать недоступную библиотеку выбрасывается исключение.
File "/app/spark_apps/model_transform.py", line 84, in
raise e
File "/app/spark_apps/model_transform.py", line 78, in
exec(byte_code, safe_globals)
File "", line 5, in
File "/app/etl_spark/safe.py", line 105, in safe_import
raise Exception(f'Импорт модуля {modules[0]} запрещен. Доступные модули: {SAFE_MODULES}')
Exception: Импорт модуля some_package запрещен. Доступные модули: ('pyspark', 'requests', 'pandas', 'numpy', 'datetime', '_strptime', 'json', 'decimal', 'collections', 'copy', 'functools', 'hashlib', 'itertools', 'math', 'string', 'time', 'zoneinfo')
Доступные стандартные библиотеки:
arraycalendarcodecscollectionscopycsvdataclassesdatetimedecimalenumfunctoolshashlibitertoolsjsonmathqueuerandomrestatisticsstringtimeurllibxml
Доступные дополнительные библиотеки: