Поделиться через


SynapseSparkStep Класс

Примечание

Это экспериментальный класс, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.

Создает этап Azure ML Synapse, который отправляет и выполняет скрипт Python.

Создайте шаг конвейера Машинного обучения Azure, который запускает задание Spark в пуле Synapse Spark.

Наследование
azureml.pipeline.core._synapse_spark_step_base._SynapseSparkStepBase
SynapseSparkStep

Конструктор

SynapseSparkStep(file, source_directory, compute_target, driver_memory, driver_cores, executor_memory, executor_cores, num_executors, name=None, app_name=None, environment=None, arguments=None, inputs=None, outputs=None, conf=None, py_files=None, jars=None, files=None, allow_reuse=True, version=None)

Параметры

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

Имя скрипта Synapse относительно source_directory.

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

Папка, содержащая скрипт Python, среду Conda и другие ресурсы, используемые на этапе.

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

Целевой объект вычислений для использования.

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

Объем памяти, используемый для процесса драйвера.

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

Число ядер, используемых для процесса драйвера.

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

Объем памяти, используемый для каждого процесса исполнителя.

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

Число ядер, используемых для каждого исполнителя.

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

Число исполнителей, которые должны быть запущены для этого сеанса.

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

Имя шага этапа. Если значение не указано, используется file.

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

Имя приложения, используемое для отправки задания Spark.

environment
Environment
Обязательно

Среда AML будет поддерживаться в более позднем выпуске.

arguments
list
Обязательно

Аргументы командной строки для файла скрипта Synapse.

inputs
list[DatasetConsumptionConfig]
Обязательно

Список входных данных.

outputs
list[HDFSOutputDatasetConfig]
Обязательно

Список выходных данных.

conf
dict
Обязательно

Свойства конфигурации Spark.

py_files
list
Обязательно

Файлы Python для использования в данном сеансе, параметр API Livy.

files
list
Обязательно

Файлы для использования в данном сеансе, параметр API Livy.

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

Указывает, должен ли этап повторно использовать предыдущие результаты при повторном запуске с теми же параметрами.

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

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

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

Имя скрипта Synapse относительно source_directory.

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

Папка, содержащая скрипт Python, среду Conda и другие ресурсы, используемые на этапе.

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

Целевой объект вычислений для использования.

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

Объем памяти, используемый для процесса драйвера.

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

Число ядер, используемых для процесса драйвера.

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

Объем памяти, используемый для каждого процесса исполнителя.

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

Число ядер, используемых для каждого исполнителя.

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

Число исполнителей, которые должны быть запущены для этого сеанса.

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

Имя шага этапа. Если значение не указано, используется file.

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

Имя приложения, используемое для отправки задания Apache Spark.

environment
Environment
Обязательно

Среда AML, которая будет использоваться в этом Шаге SynapseSparkStep.

arguments
list
Обязательно

Аргументы командной строки для файла скрипта Synapse.

inputs
list[DatasetConsumptionConfig]
Обязательно

Список входных данных.

outputs
list[HDFSOutputDatasetConfig]
Обязательно

Список выходных данных.

conf
dict
Обязательно

Свойства конфигурации Spark.

py_files
list
Обязательно

Файлы Python для использования в данном сеансе, параметр API Livy.

jars
list
Обязательно

JAR-файлы, используемые в этом сеансе, параметр API livy.

files
list
Обязательно

Файлы для использования в данном сеансе, параметр API Livy.

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

Указывает, должен ли этап повторно использовать предыдущие результаты при повторном запуске с теми же параметрами.

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

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

Комментарии

SynapseSparkStep — это базовый, встроенный этап выполнения задания Python Spark в пулах Synapse Spark. Он принимает основное имя файла и другие необязательные параметры, например, аргументы для скрипта, целевой объект вычислений, входные и выходные данные.

Для работы с SynapseSparkStep рекомендуется использовать отдельную папку для скриптов и зависимых файлов, связанных с этим этапом, и указать эту папку с параметром source_directory. Эта рекомендация имеет два преимущества. Во-первых, это помогает уменьшить размер моментального снимка, создаваемого для этапа, поскольку создается моментальный снимок всего, что требуется для данного этапа. Во-вторых, выходные данные этапа предыдущего выполнения могут быть использованы повторно, если нет изменений в source_directory, которые активируют повторную отправку моментального снимка.


   from azureml.core import Dataset
   from azureml.pipeline.steps import SynapseSparkStep
   from azureml.data import HDFSOutputDatasetConfig

   # get input dataset
   input_ds = Dataset.get_by_name(workspace, "weather_ds").as_named_input("weather_ds")

   # register pipeline output as dataset
   output_ds = HDFSOutputDatasetConfig("synapse_step_output",
                                       destination=(ws.datastores['datastore'],"dir")
                                       ).register_on_complete(name="registered_dataset")

   step_1 = SynapseSparkStep(
       name = "synapse_step",
       file = "pyspark_job.py",
       source_directory="./script",
       inputs=[input_ds],
       outputs=[output_ds],
       compute_target = "synapse",
       driver_memory = "7g",
       driver_cores = 4,
       executor_memory = "7g",
       executor_cores = 2,
       num_executors = 1,
       conf = {})

SynapseSparkStep поддерживает только DatasetConsumptionConfig в качестве входных данных и HDFSOutputDatasetConfig в качестве выходных данных.

Методы

create_node

Создание узла для этапа скрипта Synapse.

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

create_node

Создание узла для этапа скрипта Synapse.

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

create_node(graph, default_datastore, context)

Параметры

graph
Graph
Обязательно

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

default_datastore
Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
Обязательно

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

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

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

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

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

Возвращаемый тип