Скрипт модели
В среде выполнения используется язык 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')
Доступные стандартные библиотеки:
array
calendar
codecs
collections
copy
csv
dataclasses
datetime
decimal
enum
functools
hashlib
itertools
json
math
queue
random
re
statistics
string
time
urllib
xml
Доступные дополнительные библиотеки: