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._DatabricksStepBaseDatabricksStep
Конструктор
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)
Параметры
- inputs
- list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData]]
Список входных подключений для данных, потребляемых этим этапом. Получение списка в записной книжке с помощью dbutils.widgets.get("input_name"). Может быть DataReference или PipelineData. Ссылка на данные представляет собой существующий фрагмент данных в хранилище. По сути, это путь к хранилищу данных. DatabricksStep поддерживает хранилища данных, которые инкапсулируют DBFS, большой двоичный объект Azure или ADLS v1. 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
- dict
Переменные среды Spark для кластера Databricks.
Дополнительные сведения приведены в описании параметра existing_cluster_id
.
- spark_conf
- dict
Конфигурация 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.
- notebook_path
- str
[Обязательно.] Путь к записной книжке в экземпляре Databricks. Этот класс предлагает четыре способа указания кода для выполнения в кластере Databricks.
Чтобы выполнить записную книжку, имеющуюся в рабочей области Databricks, используйте путь: notebook_path=notebook_path, notebook_params={'myparam': 'testparam'}
Для выполнения скрипта Python, присутствующего в DBFS, используйте путь: python_script_path=python_script_dbfs_path, python_script_params={'arg1', 'arg2'}
Для выполнения JAR, присутствующего в DBFS, используйте путь: main_class_name=main_jar_class_name, jar_params={'arg1', 'arg2'}, jar_libraries=[JarLibrary(jar_library_dbfs_path)]
Чтобы выполнить скрипт Python, присутствующий на локальном компьютере, используйте путь: python_script_name=python_script_name, source_directory=source_directory
Укажите только один из notebook_path
, python_script_path
, python_script_name
или main_class_name
.
- notebook_params
- dict[str, Union[str, PipelineParameter]]
Словарь параметров для передачи в записную книжку. 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
- list[str, PipelineParameter]
Параметры для скрипта Python.
- main_class_name
- str
[Обязательно.] Имя точки входа в модуле JAR.
Укажите только один из notebook_path
, python_script_path
, python_script_name
или main_class_name
.
- 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.
- source_directory
- str
Каталог, содержащий скрипт и другие файлы.
Если указан python_script_name
, то должен быть указан и source_directory
.
- hash_paths
- [str]
НЕ РЕКОМЕНДУЕТСЯ: больше не требуется.
Список путей для хэширования при проверке изменений в содержимом шага. Если изменения не обнаружены, конвейер будет повторно использовать содержимое этапа из предыдущего выполнения. По умолчанию содержимое source_directory
хэшируется (кроме файлов, перечисленных в .amlignore или .gitignore).
- runconfig
- RunConfiguration
Runconfig для использования.
Примечание. Вы можете передать любое желаемое количество библиотек в качестве зависимостей для задания, используя следующие параметры: maven_libraries
, pypi_libraries
, egg_libraries
, jar_libraries
или rcran_libraries
. Эти параметры можно передать либо напрямую, как соответствующие параметры, либо в составе объекта RunConfiguration с использованием параметра runconfig
, но не обоими способами одновременно.
- maven_libraries
- list[MavenLibrary]
Библиотеки Maven для использования в выполнении Databricks.
- pypi_libraries
- list[PyPiLibrary]
Библиотеки PyPi для использования в выполнении Databricks.
- egg_libraries
- list[EggLibrary]
Библиотеки Egg для использования в выполнении Databricks.
- jar_libraries
- list[JarLibrary]
Библиотеки Jar для использования в выполнении Databricks.
- rcran_libraries
- list[RCranLibrary]
Библиотеки RCran для использования в выполнении Databricks.
- compute_target
- str, DatabricksCompute
[Обязательно.] Вычисление Azure Databricks. Прежде чем использовать DatabricksStep для выполнения скриптов или записных книжек в рабочей области Azure Databricks, необходимо добавить рабочую область Azure Databricks в качестве целевого объекта вычислений в рабочую область Машинного обучения Azure.
- allow_reuse
- bool
Указывает, должен ли этап повторно использовать предыдущие результаты при повторном выполнении с теми же параметрами. Повторное использование включено по умолчанию. Если содержимое этапа (скрипты или зависимости), а также входные данные и параметры не изменяются, выходные данные предыдущего выполнения этого этапа используются повторно. При повторном использовании этапа вместо отправки задания для вычисления немедленно предоставляются результаты предыдущего выполнения для последующих этапов. Если в качестве входных данных используются наборы данных Машинного обучения Azure, то повторное использование зависит от изменения определения набора данных, а не базовых данных.
- version
- str
Необязательный тег версии для обозначения изменения функциональных возможностей этапа.
- permit_cluster_restart
- bool
Если указан existing_cluster_id, этот параметр указывает, можно ли перезапустить кластер от имени пользователя.
- inputs
- list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData]]
Список входных подключений для данных, используемых на этом шаге. Получение списка в записной книжке с помощью 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
- dict
Переменные среды Spark для кластера Databricks.
Дополнительные сведения приведены в описании параметра existing_cluster_id
.
- spark_conf
- dict
Конфигурация 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.
- notebook_path
- str
[Обязательно.] Путь к записной книжке в экземпляре Databricks. Этот класс предлагает четыре способа указания кода для выполнения в кластере Databricks.
Чтобы выполнить записную книжку, имеющуюся в рабочей области Databricks, используйте путь: notebook_path=notebook_path, notebook_params={'myparam': 'testparam'}
Для выполнения скрипта Python, присутствующего в DBFS, используйте путь: python_script_path=python_script_dbfs_path, python_script_params={'arg1', 'arg2'}
Для выполнения JAR, присутствующего в DBFS, используйте путь: main_class_name=main_jar_class_name, jar_params={'arg1', 'arg2'}, jar_libraries=[JarLibrary(jar_library_dbfs_path)]
Чтобы выполнить скрипт Python, присутствующий на локальном компьютере, используйте путь: python_script_name=python_script_name, source_directory=source_directory
Укажите только один из notebook_path
, python_script_path
, python_script_name
или main_class_name
.
- notebook_params
- dict[str, (str или PipelineParameter)]
Словарь параметров для передачи в записную книжку. notebook_params
доступны в виде мини-приложений. Вы можете получить значения из этих мини-приложений в записной книжке с помощью dbutils.widgets.get("myparam").
- python_script_path
- str
[Обязательно.] Путь к скрипту Python в DBFS.
Укажите только один из notebook_path
, python_script_path
, python_script_name
или main_class_name
.
- main_class_name
- str
[Обязательно.] Имя точки входа в модуле JAR.
Укажите только один из notebook_path
, python_script_path
, python_script_name
или main_class_name
.
- source_directory
- str
Каталог, содержащий скрипт и другие файлы.
Если указан python_script_name
, то должен быть указан и source_directory
.
- hash_paths
- [str]
НЕ РЕКОМЕНДУЕТСЯ: больше не требуется.
Список путей для хэширования при проверке изменений в содержимом шага. Если изменения не обнаружены, конвейер будет повторно использовать содержимое этапа из предыдущего выполнения. По умолчанию содержимое source_directory
хэшируется (кроме файлов, перечисленных в .amlignore или .gitignore).
- runconfig
- RunConfiguration
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
- str, DatabricksCompute
[Обязательно] Вычисление Azure Databricks. Прежде чем использовать DatabricksStep для выполнения скриптов или записных книжек в рабочей области Azure Databricks, необходимо добавить рабочую область Azure Databricks в качестве целевого объекта вычислений в рабочую область Машинного обучения Azure.
- allow_reuse
- bool
Указывает, должен ли этап повторно использовать предыдущие результаты при повторном выполнении с теми же параметрами. Повторное использование включено по умолчанию. Если содержимое этапа (скрипты или зависимости), а также входные данные и параметры не изменяются, выходные данные предыдущего выполнения этого этапа используются повторно. При повторном использовании этапа вместо отправки задания для вычисления немедленно предоставляются результаты предыдущего выполнения для последующих этапов. Если в качестве входных данных используются наборы данных Машинного обучения Azure, то повторное использование зависит от изменения определения набора данных, а не базовых данных.
- version
- str
Необязательный тег версии для обозначения изменения функциональных возможностей этапа.
- permit_cluster_restart
- bool
Если указан existing_cluster_id, этот параметр указывает, можно ли перезапустить кластер от имени пользователя.
Методы
create_node |
Создание узла на этапе AdlaStep и его добавление в указанный граф. Данный метод не предназначен для непосредственного использования. При создании экземпляра конвейера с помощью этого этапа Azure ML автоматически передает необходимые параметры через этот метод, чтобы данный этап можно было добавить в граф конвейера, представляющий рабочий процесс. |
create_node
Создание узла на этапе AdlaStep и его добавление в указанный граф.
Данный метод не предназначен для непосредственного использования. При создании экземпляра конвейера с помощью этого этапа Azure ML автоматически передает необходимые параметры через этот метод, чтобы данный этап можно было добавить в граф конвейера, представляющий рабочий процесс.
create_node(graph, default_datastore, context)
Параметры
- default_datastore
- Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
Хранилище данных по умолчанию.
- context
- <xref:azureml.pipeline.core._GraphContext>
Контекст графа.
Возвращаемое значение
Созданный узел.
Возвращаемый тип
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по