Schemat YAML składnika Platformy Spark (wersja 2)
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure ml w wersji 2 (bieżąca)
Uwaga
Składnia YAML szczegółowo w tym dokumencie jest oparta na schemacie JSON dla najnowszej wersji rozszerzenia interfejsu wiersza polecenia uczenia maszynowego w wersji 2. Ta składnia jest gwarantowana tylko do pracy z najnowszą wersją rozszerzenia interfejsu wiersza polecenia uczenia maszynowego w wersji 2. Schematy dla starszych wersji rozszerzeń można znaleźć pod adresem https://azuremlschemasprod.azureedge.net/.
Składnia YAML
Klucz | Type | Opis | Dozwolone wartości | Domyślna wartość |
---|---|---|---|---|
$schema |
string | Schemat YAML. Jeśli używasz rozszerzenia programu VS Code usługi Azure Machine Learning do tworzenia pliku YAML, w tym $schema w górnej części pliku, możesz wywołać uzupełnianie schematu i zasobów. |
||
type |
const | Wymagany. Typ składnika. | spark |
|
name |
string | Wymagany. Nazwa składnika. Musi zaczynać się od małej litery. Dozwolone znaki to małe litery, cyfry i podkreślenie(_). Maksymalna długość to 255 znaków. | ||
version |
string | Wersja składnika. W przypadku pominięcia usługa Azure Machine Learning automatycznie ocenia wersję. | ||
display_name |
string | Nazwa wyświetlana składnika w interfejsie użytkownika programu Studio. Może być nonunique w obszarze roboczym. | ||
description |
string | Opis składnika. | ||
tags |
obiekt | Słownik tagów dla składnika. | ||
code |
string | Wymagany. Lokalizacja folderu zawierającego kod źródłowy i skrypty dla składnika. | ||
entry |
obiekt | Wymagany. Punkt wejścia składnika. Może zdefiniować element file . |
||
entry.file |
string | Lokalizacja folderu zawierającego kod źródłowy i skrypty dla składnika. | ||
py_files |
obiekt | Lista .zip plików , .egg lub .py , które mają zostać umieszczone w elemencie PYTHONPATH , w celu pomyślnego wykonania zadania za pomocą tego składnika. |
||
jars |
obiekt | Lista .jar plików, które mają być uwzględnione w sterowniku spark i funkcja CLASSPATH wykonawcza , w celu pomyślnego wykonania zadania z tym składnikiem. |
||
files |
obiekt | Lista plików, które powinny zostać skopiowane do katalogu roboczego każdego wykonawcy, w celu pomyślnego wykonania zadania za pomocą tego składnika. | ||
archives |
obiekt | Lista archiwów, które powinny zostać wyodrębnione do katalogu roboczego każdego wykonawcy, w celu pomyślnego wykonania zadania z tym składnikiem. | ||
conf |
obiekt | Właściwości sterownika i funkcji wykonawczej platformy Spark. Zobacz atrybuty conf klucza |
||
environment |
ciąg lub obiekt | Środowisko do użycia dla składnika. Ta wartość może być odwołaniem do istniejącego środowiska w wersji w obszarze roboczym lub specyfikacji środowiska wbudowanego. Aby odwołać się do istniejącego środowiska, użyj azureml:<environment_name>:<environment_version> składni lub azureml:<environment_name>@latest (aby odwołać się do najnowszej wersji środowiska). Aby zdefiniować wbudowane środowisko, postępuj zgodnie ze schematem środowiska. name Wyklucz właściwości iversion , ponieważ środowiska wbudowane nie obsługują ich. |
||
args |
string | Argumenty wiersza polecenia, które powinny zostać przekazane do skryptu języka Python punktu wejścia składnika. Te argumenty mogą zawierać ścieżki danych wejściowych i lokalizację zapisu danych wyjściowych, na przykład "--input_data ${{inputs.<input_name>}} --output_path ${{outputs.<output_name>}}" |
||
inputs |
obiekt | Słownik danych wejściowych składników. Klucz jest nazwą danych wejściowych w kontekście składnika, a wartość jest wartością wejściową. Przy użyciu ${{ inputs.<input_name> }} wyrażenia można odwoływać się do args danych wejściowych. |
||
inputs.<input_name> |
liczba, liczba całkowita, wartość logiczna, ciąg lub obiekt | Jedna z wartości literału (typu liczba, liczba całkowita, wartość logiczna lub ciąg) lub obiekt zawierający specyfikację danych wejściowych składnika. | ||
outputs |
obiekt | Słownik konfiguracji danych wyjściowych składnika. Klucz jest nazwą danych wyjściowych w kontekście składnika, a wartość jest konfiguracją wyjściową. Przy użyciu ${{ outputs.<output_name> }} wyrażenia można odwoływać się args do danych wyjściowych. |
||
outputs.<output_name> |
obiekt | Dane wyjściowe składnika Spark. Dane wyjściowe składnika Spark można zapisywać w pliku lub w lokalizacji folderu, podając obiekt zawierający specyfikację danych wyjściowych składnika. |
conf
Atrybuty klucza
Klucz | Type | Opis | Domyślna wartość |
---|---|---|---|
spark.driver.cores |
integer | Liczba rdzeni sterownika Spark. | |
spark.driver.memory |
string | Przydzielona pamięć dla sterownika Spark w gigabajtach (GB), na przykład 2g . |
|
spark.executor.cores |
integer | Liczba rdzeni funkcji wykonawczej platformy Spark. | |
spark.executor.memory |
string | Przydzielona pamięć dla funkcji wykonawczej platformy Spark w gigabajtach (GB), na przykład 2g . |
|
spark.dynamicAllocation.enabled |
boolean | Określa, czy funkcje wykonawcze powinny być przydzielane dynamicznie jako True wartość lub False . Jeśli ta właściwość jest ustawiona True , zdefiniuj spark.dynamicAllocation.minExecutors i spark.dynamicAllocation.maxExecutors . Jeśli ta właściwość jest ustawiona na False wartość , zdefiniuj spark.executor.instances wartość . |
False |
spark.dynamicAllocation.minExecutors |
integer | Minimalna liczba wystąpień funkcji wykonawczych platformy Spark dla alokacji dynamicznej. | |
spark.dynamicAllocation.maxExecutors |
integer | Maksymalna liczba wystąpień funkcji wykonawczych platformy Spark dla alokacji dynamicznej. | |
spark.executor.instances |
integer | Liczba wystąpień funkcji wykonawczej platformy Spark. |
Dane wejściowe składników
Klucz | Type | Opis | Dozwolone wartości | Domyślna wartość |
---|---|---|---|---|
type |
string | Typ danych wejściowych składnika. Określ uri_file dane wejściowe wskazujące jedno źródło plików lub uri_folder dane wejściowe wskazujące źródło folderu. Dowiedz się więcej o dostępie do danych. |
uri_file , uri_folder |
|
mode |
string | Tryb dostarczania danych do docelowego obiektu obliczeniowego. Tryb direct przechodzi w adresIE URL lokalizacji magazynu jako dane wejściowe składnika. Masz pełną odpowiedzialność za obsługę poświadczeń dostępu do magazynu. |
direct |
Dane wyjściowe składników
Klucz | Type | Opis | Dozwolone wartości | Domyślna wartość |
---|---|---|---|---|
type |
string | Typ danych wyjściowych składnika. | uri_file , uri_folder |
|
mode |
string | Tryb dostarczania plików wyjściowych do docelowego zasobu magazynu. | direct |
Uwagi
Polecenia az ml component
mogą służyć do zarządzania składnikiem platformy Spark w usłudze Azure Machine Learning.
Przykłady
Przykłady są dostępne w repozytorium GitHub przykłady. Kilka zostanie wyświetlonych obok.
YAML: przykładowy składnik Platformy Spark
# spark-job-component.yaml
$schema: https://azuremlschemas.azureedge.net/latest/sparkComponent.schema.json
name: titanic_spark_component
type: spark
version: 1
display_name: Titanic-Spark-Component
description: Spark component for Titanic data
code: ./src
entry:
file: titanic.py
inputs:
titanic_data:
type: uri_file
mode: direct
outputs:
wrangled_data:
type: uri_folder
mode: direct
args: >-
--titanic_data ${{inputs.titanic_data}}
--wrangled_data ${{outputs.wrangled_data}}
conf:
spark.driver.cores: 1
spark.driver.memory: 2g
spark.executor.cores: 2
spark.executor.memory: 2g
spark.dynamicAllocation.enabled: True
spark.dynamicAllocation.minExecutors: 1
spark.dynamicAllocation.maxExecutors: 4
YAML: przykładowe zadanie potoku ze składnikiem platformy Spark
# attached-spark-pipeline-user-identity.yaml
$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
display_name: Titanic-Spark-CLI-Pipeline-2
description: Spark component for Titanic data in Pipeline
jobs:
spark_job:
type: spark
component: ./spark-job-component.yml
inputs:
titanic_data:
type: uri_file
path: azureml://datastores/workspaceblobstore/paths/data/titanic.csv
mode: direct
outputs:
wrangled_data:
type: uri_folder
path: azureml://datastores/workspaceblobstore/paths/data/wrangled/
mode: direct
identity:
type: user_identity
compute: <ATTACHED_SPARK_POOL_NAME>