DatabricksStep Класс

Создает этап конвейера Azure ML для добавления записной книжки DataBricks, скрипта Python или JAR в качестве узла.

Пример использования DatabricksStep приведен в записной книжке https://aka.ms/pl-databricks.

Создайте шаг конвейера Машинного обучения Azure, чтобы добавить записную книжку DataBricks, скрипт Python или JAR-файл в качестве узла.

Пример использования DatabricksStep приведен в записной книжке https://aka.ms/pl-databricks.

:p aram python_script_name:[Обязательно] Имя скрипта Python относительно source_directory. Если скрипт принимает входные и выходные данные, они передаются в скрипт в качестве параметров. Если указан python_script_name, то должен быть указан и source_directory.

Укажите только один из notebook_path, python_script_path, python_script_name или main_class_name.

Если указать объект DataReference в качестве входных данных с помощью data_reference_name=input1 и объект PipelineData в качестве выходных данных с помощью name=output1, то входные и выходные данные будут переданы в скрипт в качестве параметров. Они будут выглядеть описанным ниже образом, и при этом необходимо проанализировать аргументы в скрипте для доступа к путям всех входных и выходных данных: "-input1","wasbs://test@storagename.blob.core.windows.net/test","-output1", "wasbs://test@storagename.blob.core.windows.net/b3e26de1-87a4-494d-a20f-1988d22b81a2/output1"

Кроме того, в скрипте будут доступны следующие параметры:

  • AZUREML_RUN_TOKEN: маркер AML для проверки подлинности с помощью Машинного обучения Azure.
  • AZUREML_RUN_TOKEN_EXPIRY: время окончания срока действия маркера AML.
  • AZUREML_RUN_ID: идентификатор выполнения Машинного обучения Azure для этого выполнения.
  • AZUREML_ARM_SUBSCRIPTION: подписка Azure для рабочей области AML.
  • AZUREML_ARM_RESOURCEGROUP: группа ресурсов Azure для рабочей области Машинного обучения Azure.
  • AZUREML_ARM_WORKSPACE_NAME: имя рабочей области Машинного обучения Azure.
  • AZUREML_ARM_PROJECT_NAME: имя эксперимента Машинного обучения Azure.
  • AZUREML_SERVICE_ENDPOINT: URL-адрес конечной точки для служб AML.
  • AZUREML_WORKSPACE_ID: идентификатор рабочей области Машинного обучения Azure.
  • AZUREML_EXPERIMENT_ID: идентификатор эксперимента Машинного обучения Azure.
  • AZUREML_SCRIPT_DIRECTORY_NAME: путь к каталогу в DBFS, куда было скопировано source_directory.
  (This parameter is only populated when `python_script_name` is used.  See more details below.)

При выполнении скрипта Python с локального компьютера в Databricks с помощью параметров DatabricksStep source_directory и python_script_name, source_directory копируется в DBFS, а путь к каталогу в DBFS передается в качестве параметра скрипту при начале выполнения. Этот параметр обозначен как –AZUREML_SCRIPT_DIRECTORY_NAME. Необходимо добавить к нему префикс со строкой "dbfs:/" or "/dbfs/" для получения доступа к каталогу в DBFS.

Наследование
azureml.pipeline.core._databricks_step_base._DatabricksStepBase
DatabricksStep

Конструктор

DatabricksStep(name, inputs=None, outputs=None, existing_cluster_id=None, spark_version=None, node_type=None, instance_pool_id=None, num_workers=None, min_workers=None, max_workers=None, spark_env_variables=None, spark_conf=None, init_scripts=None, cluster_log_dbfs_path=None, notebook_path=None, notebook_params=None, python_script_path=None, python_script_params=None, main_class_name=None, jar_params=None, python_script_name=None, source_directory=None, hash_paths=None, run_name=None, timeout_seconds=None, runconfig=None, maven_libraries=None, pypi_libraries=None, egg_libraries=None, jar_libraries=None, rcran_libraries=None, compute_target=None, allow_reuse=True, version=None, permit_cluster_restart=None)

Параметры

Имя Описание
name
Обязательно
str

[Обязательно] Имя этапа.

inputs

Список входных подключений для данных, потребляемых этим этапом. Получение списка в записной книжке с помощью dbutils.widgets.get("input_name"). Может быть DataReference или PipelineData. Ссылка на данные представляет собой существующий фрагмент данных в хранилище. По сути, это путь к хранилищу данных. DatabricksStep поддерживает хранилища данных, которые инкапсулируют DBFS, большой двоичный объект Azure или ADLS v1. PipelineData представляет промежуточные данные, созданные другим этапом в конвейере.

значение по умолчанию: None
outputs

Список определений портов вывода для выходных данных, созданных на этом этапе. Получение списка в записной книжке с помощью dbutils.widgets.get("output_name"). Должно быть PipelineData.

значение по умолчанию: None
existing_cluster_id
str

Идентификатор существующего интерактивного кластера в рабочей области Databricks. При передаче этого параметра невозможно передать следующие параметры, которые используются для создания нового кластера:

  • spark_version
  • node_type
  • instance_pool_id
  • num_workers
  • min_workers
  • max_workers
  • spark_env_variables
  • spark_conf

Примечание. Для создания нового кластера заданий необходимо передать указанные выше параметры. Вы можете передать эти параметры напрямую или как часть объекта RunConfiguration с использованием параметра runconfig. Передача этих параметров напрямую и через RunConfiguration приведет к ошибке.

значение по умолчанию: None
spark_version
str

Версия Spark для кластера Databricks, например 10.4.x-scala2.12. Дополнительные сведения приведены в описании параметра existing_cluster_id.

значение по умолчанию: None
node_type
str

[Обязательно.] Типы узлов виртуальных машин Azure для кластера Databricks, например: "Standard_D3_v2". Укажите node_type или instance_pool_id. Дополнительные сведения приведены в описании параметра existing_cluster_id.

значение по умолчанию: None
instance_pool_id
str

[Обязательно.] Идентификатор пула экземпляров, к которому необходимо подключить кластер. Укажите node_type или instance_pool_id. Дополнительные сведения приведены в описании параметра existing_cluster_id.

значение по умолчанию: None
num_workers
int

[Обязательно.] Статическое число рабочих ролей для кластера Databricks. Необходимо указать либо num_workers, либо min_workers и max_workers одновременно. Дополнительные сведения приведены в описании параметра existing_cluster_id.

значение по умолчанию: None
min_workers
int

[Обязательно.] Минимальное число рабочих ролей, используемых для автоматического масштабирования кластера Databricks. Необходимо указать либо num_workers, либо min_workers и max_workers одновременно. Дополнительные сведения приведены в описании параметра existing_cluster_id.

значение по умолчанию: None
max_workers
int

[Обязательно.] Максимальное число рабочих ролей, используемых для автоматического масштабирования кластера Databricks. Необходимо указать либо num_workers, либо min_workers и max_workers одновременно. Дополнительные сведения приведены в описании параметра existing_cluster_id.

значение по умолчанию: None
spark_env_variables

Переменные среды Spark для кластера Databricks. Дополнительные сведения приведены в описании параметра existing_cluster_id.

значение по умолчанию: None
spark_conf

Конфигурация Spark для кластера Databricks. Дополнительные сведения приведены в описании параметра existing_cluster_id.

значение по умолчанию: None
init_scripts
[str]

Не рекомендуется. Databricks объявила, что скрипт инициализации, хранящийся в DBFS, прекратит работу после 1 декабря 2023 г. Чтобы устранить эту проблему, 1) используйте глобальные скрипты инициализации в databricks: https://learn.microsoft.com/azure/databricks/init-scripts/global 2) закомментируйте строку init_scripts на шаге AzureML databricks.

значение по умолчанию: None
cluster_log_dbfs_path
str

Пути DBFS доставки журналов кластеров.

значение по умолчанию: None
notebook_path
str

[Обязательно.] Путь к записной книжке в экземпляре Databricks. Этот класс предлагает четыре способа указания кода для выполнения в кластере Databricks.

  1. Чтобы выполнить записную книжку, имеющуюся в рабочей области Databricks, используйте путь: notebook_path=notebook_path, notebook_params={'myparam': 'testparam'}

  2. Для выполнения скрипта Python, присутствующего в DBFS, используйте путь: python_script_path=python_script_dbfs_path, python_script_params={'arg1', 'arg2'}

  3. Для выполнения JAR, присутствующего в DBFS, используйте путь: main_class_name=main_jar_class_name, jar_params={'arg1', 'arg2'}, jar_libraries=[JarLibrary(jar_library_dbfs_path)]

  4. Чтобы выполнить скрипт Python, присутствующий на локальном компьютере, используйте путь: python_script_name=python_script_name, source_directory=source_directory

Укажите только один из notebook_path, python_script_path, python_script_name или main_class_name.

значение по умолчанию: None
notebook_params

Словарь параметров для передачи в записную книжку. notebook_params доступны в виде мини-приложений. Вы можете получить значения из этих мини-приложений в записной книжке с помощью dbutils.widgets.get("myparam").

значение по умолчанию: None
python_script_path
str

[Обязательно.] Путь к скрипту Python в DBFS. Укажите только один из notebook_path, python_script_path, python_script_name или main_class_name.

значение по умолчанию: None
python_script_params

Параметры для скрипта Python.

значение по умолчанию: None
main_class_name
str

[Обязательно.] Имя точки входа в модуле JAR. Укажите только один из notebook_path, python_script_path, python_script_name или main_class_name.

значение по умолчанию: None
jar_params

Параметры для модуля JAR.

значение по умолчанию: None
python_script_name
str

[Обязательно] Имя скрипта Python (относительно source_directory). Если скрипт принимает входные и выходные данные, они передаются в скрипт в качестве параметров. Если указан python_script_name, то должен быть указан и source_directory.

Укажите только один из notebook_path, python_script_path, python_script_name или main_class_name.

Если указать объект DataReference в качестве входных данных с помощью data_reference_name=input1 и объект PipelineData в качестве выходных данных с помощью name=output1, то входные и выходные данные будут переданы в скрипт в качестве параметров. Они будут выглядеть описанным ниже образом, и при этом необходимо проанализировать аргументы в скрипте для доступа к путям всех входных и выходных данных: "-input1","wasbs://test@storagename.blob.core.windows.net/test","-output1", "wasbs://test@storagename.blob.core.windows.net/b3e26de1-87a4-494d-a20f-1988d22b81a2/output1"

Кроме того, в скрипте будут доступны следующие параметры:

  • AZUREML_RUN_TOKEN: маркер AML для проверки подлинности с помощью Машинного обучения Azure.
  • AZUREML_RUN_TOKEN_EXPIRY: время окончания срока действия маркера AML.
  • AZUREML_RUN_ID: идентификатор выполнения Машинного обучения Azure для этого выполнения.
  • AZUREML_ARM_SUBSCRIPTION: подписка Azure для рабочей области AML.
  • AZUREML_ARM_RESOURCEGROUP: группа ресурсов Azure для рабочей области Машинного обучения Azure.
  • AZUREML_ARM_WORKSPACE_NAME: имя рабочей области Машинного обучения Azure.
  • AZUREML_ARM_PROJECT_NAME: имя эксперимента Машинного обучения Azure.
  • AZUREML_SERVICE_ENDPOINT: URL-адрес конечной точки для служб AML.
  • AZUREML_WORKSPACE_ID: идентификатор рабочей области Машинного обучения Azure.
  • AZUREML_EXPERIMENT_ID: идентификатор эксперимента Машинного обучения Azure.
  • AZUREML_SCRIPT_DIRECTORY_NAME: путь к каталогу в DBFS, куда было скопировано source_directory. (Этот параметр заполняется только при python_script_name использовании . Дополнительные сведения см. ниже.)

При выполнении скрипта Python с локального компьютера в Databricks с помощью параметров DatabricksStep source_directory и python_script_name, source_directory копируется в DBFS, а путь к каталогу в DBFS передается в качестве параметра скрипту при начале выполнения. Этот параметр обозначен как –AZUREML_SCRIPT_DIRECTORY_NAME. Необходимо добавить к нему префикс со строкой "dbfs:/" or "/dbfs/" для получения доступа к каталогу в DBFS.

значение по умолчанию: None
source_directory
str

Каталог, содержащий скрипт и другие файлы. Если указан python_script_name, то должен быть указан и source_directory.

значение по умолчанию: None
hash_paths
[str]

НЕ РЕКОМЕНДУЕТСЯ: больше не требуется.

Список путей для хэширования при проверке изменений в содержимом шага. Если изменения не обнаружены, конвейер будет повторно использовать содержимое этапа из предыдущего выполнения. По умолчанию содержимое source_directory хэшируется (кроме файлов, перечисленных в .amlignore или .gitignore).

значение по умолчанию: None
run_name
str

Имя в Databricks для этого запуска.

значение по умолчанию: None
timeout_seconds
int

Время ожидания для выполнения Databricks.

значение по умолчанию: None
runconfig

Runconfig для использования.

Примечание. Вы можете передать любое желаемое количество библиотек в качестве зависимостей для задания, используя следующие параметры: maven_libraries, pypi_libraries, egg_libraries, jar_libraries или rcran_libraries. Эти параметры можно передать либо напрямую, как соответствующие параметры, либо в составе объекта RunConfiguration с использованием параметра runconfig, но не обоими способами одновременно.

значение по умолчанию: None
maven_libraries

Библиотеки Maven для использования в выполнении Databricks.

значение по умолчанию: None
pypi_libraries

Библиотеки PyPi для использования в выполнении Databricks.

значение по умолчанию: None
egg_libraries

Библиотеки Egg для использования в выполнении Databricks.

значение по умолчанию: None
jar_libraries

Библиотеки Jar для использования в выполнении Databricks.

значение по умолчанию: None
rcran_libraries

Библиотеки RCran для использования в выполнении Databricks.

значение по умолчанию: None
compute_target

[Обязательно.] Вычисление Azure Databricks. Прежде чем использовать DatabricksStep для выполнения скриптов или записных книжек в рабочей области Azure Databricks, необходимо добавить рабочую область Azure Databricks в качестве целевого объекта вычислений в рабочую область Машинного обучения Azure.

значение по умолчанию: None
allow_reuse

Указывает, должен ли этап повторно использовать предыдущие результаты при повторном выполнении с теми же параметрами. Повторное использование включено по умолчанию. Если содержимое этапа (скрипты или зависимости), а также входные данные и параметры не изменяются, выходные данные предыдущего выполнения этого этапа используются повторно. При повторном использовании этапа вместо отправки задания для вычисления немедленно предоставляются результаты предыдущего выполнения для последующих этапов. Если в качестве входных данных используются наборы данных Машинного обучения Azure, то повторное использование зависит от изменения определения набора данных, а не базовых данных.

значение по умолчанию: True
version
str

Необязательный тег версии для обозначения изменения функциональных возможностей этапа.

значение по умолчанию: None
permit_cluster_restart

Если указан existing_cluster_id, этот параметр указывает, можно ли перезапустить кластер от имени пользователя.

значение по умолчанию: None
name
Обязательно
str

[Обязательно] Имя этапа.

inputs
Обязательно

Список входных подключений для данных, используемых на этом шаге. Получение списка в записной книжке с помощью dbutils.widgets.get("input_name"). Может быть DataReference или PipelineData. Ссылка на данные представляет собой существующий фрагмент данных в хранилище. По сути, это путь к хранилищу данных. DatabricksStep поддерживает хранилища данных, которые инкапсулируют DBFS, BLOB-объект Azure или ADLS версии 1. PipelineData представляет промежуточные данные, созданные другим этапом в конвейере.

outputs
Обязательно
list[Union[OutputPortBinding, <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset>, PipelineData]]

Список определений портов вывода для выходных данных, созданных на этом этапе. Получение списка в записной книжке с помощью dbutils.widgets.get("output_name"). Должно быть PipelineData.

existing_cluster_id
Обязательно
str

Идентификатор существующего интерактивного кластера в рабочей области Databricks. При передаче этого параметра невозможно передать следующие параметры, которые используются для создания нового кластера:

  • spark_version
  • node_type
  • instance_pool_id
  • num_workers
  • min_workers
  • max_workers
  • spark_env_variables
  • spark_conf

Примечание. Для создания нового кластера заданий необходимо передать указанные выше параметры. Вы можете передать эти параметры напрямую или как часть объекта RunConfiguration с использованием параметра runconfig. Передача этих параметров напрямую и через RunConfiguration приведет к ошибке.

spark_version
Обязательно
str

Версия Spark для кластера Databricks, например 10.4.x-scala2.12. Дополнительные сведения приведены в описании параметра existing_cluster_id.

node_type
Обязательно
str

[Обязательно.] Типы узлов виртуальных машин Azure для кластера Databricks, например: "Standard_D3_v2". Укажите node_type или instance_pool_id. Дополнительные сведения приведены в описании параметра existing_cluster_id.

instance_pool_id
Обязательно
str

[Обязательно.] Идентификатор пула экземпляров, к которому необходимо подключить кластер. Укажите node_type или instance_pool_id. Дополнительные сведения приведены в описании параметра existing_cluster_id.

num_workers
Обязательно
int

[Обязательно.] Статическое число рабочих ролей для кластера Databricks. Необходимо указать либо num_workers, либо min_workers и max_workers одновременно.

Дополнительные сведения приведены в описании параметра existing_cluster_id.

min_workers
Обязательно
int

[Обязательно.] Минимальное число рабочих ролей, используемых для автоматического масштабирования кластера Databricks. Необходимо указать либо num_workers, либо min_workers и max_workers одновременно.

Дополнительные сведения приведены в описании параметра existing_cluster_id.

max_workers
Обязательно
int

[Обязательно.] Максимальное число рабочих ролей, используемых для автоматического масштабирования кластера Databricks. Необходимо указать либо num_workers, либо min_workers и max_workers одновременно.

Дополнительные сведения приведены в описании параметра existing_cluster_id.

spark_env_variables
Обязательно

Переменные среды Spark для кластера Databricks. Дополнительные сведения приведены в описании параметра existing_cluster_id.

spark_conf
Обязательно

Конфигурация Spark для кластера Databricks. Дополнительные сведения приведены в описании параметра existing_cluster_id.

init_scripts
Обязательно
[str]

Не рекомендуется. Databricks объявила, что скрипт инициализации, хранящийся в DBFS, прекратит работу после 1 декабря 2023 г. Чтобы устранить эту проблему, 1) используйте глобальные скрипты инициализации в databricks: https://learn.microsoft.com/azure/databricks/init-scripts/global 2) закомментируйте строку init_scripts на шаге AzureML databricks.

cluster_log_dbfs_path
Обязательно
str

Пути DBFS доставки журналов кластеров.

notebook_path
Обязательно
str

[Обязательно.] Путь к записной книжке в экземпляре Databricks. Этот класс предлагает четыре способа указания кода для выполнения в кластере Databricks.

  1. Чтобы выполнить записную книжку, имеющуюся в рабочей области Databricks, используйте путь: notebook_path=notebook_path, notebook_params={'myparam': 'testparam'}

  2. Для выполнения скрипта Python, присутствующего в DBFS, используйте путь: python_script_path=python_script_dbfs_path, python_script_params={'arg1', 'arg2'}

  3. Для выполнения JAR, присутствующего в DBFS, используйте путь: main_class_name=main_jar_class_name, jar_params={'arg1', 'arg2'}, jar_libraries=[JarLibrary(jar_library_dbfs_path)]

  4. Чтобы выполнить скрипт Python, присутствующий на локальном компьютере, используйте путь: python_script_name=python_script_name, source_directory=source_directory

Укажите только один из notebook_path, python_script_path, python_script_name или main_class_name.

notebook_params
Обязательно

Словарь параметров для передачи в записную книжку. notebook_params доступны в виде мини-приложений. Вы можете получить значения из этих мини-приложений в записной книжке с помощью dbutils.widgets.get("myparam").

python_script_path
Обязательно
str

[Обязательно.] Путь к скрипту Python в DBFS. Укажите только один из notebook_path, python_script_path, python_script_name или main_class_name.

python_script_params
Обязательно

Параметры для скрипта Python.

main_class_name
Обязательно
str

[Обязательно.] Имя точки входа в модуле JAR. Укажите только один из notebook_path, python_script_path, python_script_name или main_class_name.

jar_params
Обязательно

Параметры для модуля JAR.

source_directory
Обязательно
str

Каталог, содержащий скрипт и другие файлы. Если указан python_script_name, то должен быть указан и source_directory.

hash_paths
Обязательно
[str]

НЕ РЕКОМЕНДУЕТСЯ: больше не требуется.

Список путей для хэширования при проверке изменений в содержимом шага. Если изменения не обнаружены, конвейер будет повторно использовать содержимое этапа из предыдущего выполнения. По умолчанию содержимое source_directory хэшируется (кроме файлов, перечисленных в .amlignore или .gitignore).

run_name
Обязательно
str

Имя в Databricks для этого запуска.

timeout_seconds
Обязательно
int

Время ожидания для выполнения Databricks.

runconfig
Обязательно

Runconfig для использования.

Примечание. Вы можете передать любое желаемое количество библиотек в качестве зависимостей для задания, используя следующие параметры: maven_libraries, pypi_libraries, egg_libraries, jar_libraries или rcran_libraries. Эти параметры можно передать либо напрямую, как соответствующие параметры, либо в составе объекта RunConfiguration с использованием параметра runconfig, но не обоими способами одновременно.

maven_libraries
Обязательно
list[<xref:azureml.core.runconfig.MavenLibrary>]

Библиотеки Maven для использования в выполнении Databricks. Дополнительные сведения о спецификации библиотек Maven см. в разделе help(azureml.core.runconfig.MavenLibrary).

pypi_libraries
Обязательно
list[<xref:azureml.core.runconfig.PyPiLibrary>]

Библиотеки PyPi для использования в выполнении Databricks. Дополнительные сведения о спецификации библиотек PyPi см. в разделе help(azureml.core.runconfig.PyPiLibrary).

egg_libraries
Обязательно
list[<xref:azureml.core.runconfig.EggLibrary>]

Библиотеки Egg для использования в выполнении Databricks. Дополнительные сведения о спецификации библиотек Egg см. в разделе help(azureml.core.runconfig.EggLibrary).

jar_libraries
Обязательно
list[<xref:azureml.core.runconfig.JarLibrary>]

Библиотеки Jar для использования в выполнении Databricks. Дополнительные сведения о спецификации библиотек JAR см. в разделе help(azureml.core.runconfig.JarLibrary).

rcran_libraries
Обязательно
list[<xref:azureml.core.runconfig.RCranLibrary>]

Библиотеки RCran для использования в выполнении Databricks. Дополнительные сведения о спецификации библиотек RCran см. в разделе help(azureml.core.runconfig.RCranLibrary).

compute_target
Обязательно

[Обязательно] Вычисление Azure Databricks. Прежде чем использовать DatabricksStep для выполнения скриптов или записных книжек в рабочей области Azure Databricks, необходимо добавить рабочую область Azure Databricks в качестве целевого объекта вычислений в рабочую область Машинного обучения Azure.

allow_reuse
Обязательно

Указывает, должен ли этап повторно использовать предыдущие результаты при повторном выполнении с теми же параметрами. Повторное использование включено по умолчанию. Если содержимое этапа (скрипты или зависимости), а также входные данные и параметры не изменяются, выходные данные предыдущего выполнения этого этапа используются повторно. При повторном использовании этапа вместо отправки задания для вычисления немедленно предоставляются результаты предыдущего выполнения для последующих этапов. Если в качестве входных данных используются наборы данных Машинного обучения Azure, то повторное использование зависит от изменения определения набора данных, а не базовых данных.

version
Обязательно
str

Необязательный тег версии для обозначения изменения функциональных возможностей этапа.

permit_cluster_restart
Обязательно

Если указан existing_cluster_id, этот параметр указывает, можно ли перезапустить кластер от имени пользователя.

Методы

create_node

Создание узла на этапе AdlaStep и его добавление в указанный граф.

Данный метод не предназначен для непосредственного использования. При создании экземпляра конвейера с помощью этого этапа Azure ML автоматически передает необходимые параметры через этот метод, чтобы данный этап можно было добавить в граф конвейера, представляющий рабочий процесс.

create_node

Создание узла на этапе AdlaStep и его добавление в указанный граф.

Данный метод не предназначен для непосредственного использования. При создании экземпляра конвейера с помощью этого этапа Azure ML автоматически передает необходимые параметры через этот метод, чтобы данный этап можно было добавить в граф конвейера, представляющий рабочий процесс.

create_node(graph, default_datastore, context)

Параметры

Имя Описание
graph
Обязательно

Объект графа, в который добавляется узел.

default_datastore
Обязательно

Хранилище данных по умолчанию.

context
Обязательно
<xref:azureml.pipeline.core._GraphContext>

Контекст графа.

Возвращаемое значение

Тип Описание

Созданный узел.