DatabricksStep Klass
Skapar ett Azure ML Pipeline-steg för att lägga till en DataBricks-notebook-fil, Python-skript eller JAR som en nod.
Ett exempel på hur du använder DatabricksStep finns i notebook-filen https://aka.ms/pl-databricks.
Skapa ett Azure ML Pipeline-steg för att lägga till en DataBricks-notebook-fil, Python-skript eller JAR som en nod.
Ett exempel på hur du använder DatabricksStep finns i notebook-filen https://aka.ms/pl-databricks.
:p aram python_script_name:[Required] Namnet på ett Python-skript i förhållande till source_directory
.
Om skriptet tar indata och utdata skickas de till skriptet som parametrar.
Om python_script_name
anges måste det source_directory
också vara det.
Ange exakt en av notebook_path
, python_script_path
, python_script_name
eller main_class_name
.
Om du anger ett DataReference-objekt som indata med data_reference_name=input1 och ett PipelineData-objekt som utdata med namn=output1, skickas indata och utdata till skriptet som parametrar. Så här ser de ut och du måste parsa argumenten i skriptet för att komma åt sökvägarna för varje indata och utdata: "-input1","wasbs://test@storagename.blob.core.windows.net/test","-output1", "wasbs://test@storagename.blob.core.windows.net/b3e26de1-87a4-494d-a20f-1988d22b81a2/output1"
Dessutom är följande parametrar tillgängliga i skriptet:
- AZUREML_RUN_TOKEN: AML-token för autentisering med Azure Machine Learning.
- AZUREML_RUN_TOKEN_EXPIRY: Förfallotid för AML-token.
- AZUREML_RUN_ID: Kör-ID för Azure Machine Learning för den här körningen.
- AZUREML_ARM_SUBSCRIPTION: Azure-prenumeration för din AML-arbetsyta.
- AZUREML_ARM_RESOURCEGROUP: Azure-resursgrupp för din Azure Machine Learning-arbetsyta.
- AZUREML_ARM_WORKSPACE_NAME: Namnet på din Azure Machine Learning-arbetsyta.
- AZUREML_ARM_PROJECT_NAME: Namnet på ditt Azure Machine Learning-experiment.
- AZUREML_SERVICE_ENDPOINT: Slutpunkts-URL för AML-tjänster.
- AZUREML_WORKSPACE_ID: ID för din Azure Machine Learning-arbetsyta.
- AZUREML_EXPERIMENT_ID: ID för ditt Azure Machine Learning-experiment.
- AZUREML_SCRIPT_DIRECTORY_NAME: Katalogsökväg i DBFS där source_directory har kopierats.
(This parameter is only populated when `python_script_name` is used. See more details below.)
När du kör ett Python-skript från den lokala datorn på Databricks med hjälp av DatabricksStep-parametrar och source_directory
python_script_name
kopieras source_directory till DBFS och katalogsökvägen i DBFS skickas som en parameter till skriptet när körningen påbörjas.
Den här parametern är märkt med –AZUREML_SCRIPT_DIRECTORY_NAME. Du måste prefixet med strängen "dbfs:/" eller "/dbfs/" för att komma åt katalogen i DBFS.
- Arv
-
azureml.pipeline.core._databricks_step_base._DatabricksStepBaseDatabricksStep
Konstruktor
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)
Parametrar
- inputs
- list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData]]
En lista över indataanslutningar för data som förbrukas av det här steget. Hämta detta i notebook-filen med dbutils.widgets.get("input_name"). Kan vara DataReference eller PipelineData. DataReference representerar en befintlig datamängd i ett datalager. Det här är i princip en sökväg i ett datalager. DatabricksStep stöder datalager som kapslar in DBFS, Azure Blob eller ADLS v1. PipelineData representerar mellanliggande data som produceras av ett annat steg i en pipeline.
En lista över portdefinitioner för utdata som genereras av det här steget. Hämta detta i notebook-filen med dbutils.widgets.get("output_name"). Bör vara PipelineData.
- existing_cluster_id
- str
Ett kluster-ID för ett befintligt interaktivt kluster på Databricks-arbetsytan. Om du skickar den här parametern kan du inte skicka någon av följande parametrar som används för att skapa ett nytt kluster:
- spark_version
- node_type
- instance_pool_id
- num_workers
- min_workers
- max_workers
- spark_env_variables
- spark_conf
Obs! Om du vill skapa ett nytt jobbkluster måste du skicka ovanstående parametrar. Du kan skicka dessa parametrar direkt eller skicka dem som en del av RunConfiguration-objektet med hjälp av parametern runconfig. Om du skickar dessa parametrar direkt och via RunConfiguration uppstår ett fel.
- spark_version
- str
Versionen av Spark för Databricks kör klustret, till exempel: "10.4.x-scala2.12".
Mer information finns i beskrivningen för parametern existing_cluster_id
.
- node_type
- str
[Krävs] Nodtyperna för virtuella Azure-datorer för Databricks-körningsklustret, till exempel: "Standard_D3_v2". Ange antingen node_type
eller instance_pool_id
.
Mer information finns i beskrivningen för parametern existing_cluster_id
.
- instance_pool_id
- str
[Krävs] Det instanspools-ID som klustret måste kopplas till.
Ange antingen node_type
eller instance_pool_id
.
Mer information finns i beskrivningen för parametern existing_cluster_id
.
- num_workers
- int
[Krävs] Det statiska antalet arbetare för Databricks-körningsklustret.
Du måste ange antingen num_workers
eller både min_workers
och max_workers
.
Mer information finns i beskrivningen för parametern existing_cluster_id
.
- min_workers
- int
[Krävs] Minsta antal arbetare som ska användas för automatisk skalning av Databricks-körningsklustret.
Du måste ange antingen num_workers
eller både min_workers
och max_workers
.
Mer information finns i beskrivningen för parametern existing_cluster_id
.
- max_workers
- int
[Krävs] Det maximala antalet arbetare som ska användas för automatisk skalning av Databricks-körningsklustret.
Du måste ange antingen num_workers
eller både min_workers
och max_workers
.
Mer information finns i beskrivningen för parametern existing_cluster_id
.
- spark_env_variables
- dict
Spark-miljövariablerna för Databricks kör klustret.
Mer information finns i beskrivningen för parametern existing_cluster_id
.
- spark_conf
- dict
Spark-konfigurationen för Databricks-körningsklustret.
Mer information finns i beskrivningen för parametern existing_cluster_id
.
- init_scripts
- [str]
Inaktuellt. Databricks meddelade att init-skriptet som lagras i DBFS kommer att sluta fungera efter 1 dec 2023. Du kan åtgärda problemet genom att 1) använda globala init-skript i databricks efter https://learn.microsoft.com/azure/databricks/init-scripts/global 2) kommentera ut raden med init_scripts i azureML-databricks-steget.
- notebook_path
- str
[Krävs] Sökvägen till notebook-filen i Databricks-instansen. Den här klassen tillåter fyra sätt att ange att koden ska köras på Databricks-klustret.
Om du vill köra en notebook-fil som finns på Databricks-arbetsytan använder du: notebook_path=notebook_path, notebook_params={'myparam': 'testparam'}
Om du vill köra ett Python-skript som finns i DBFS använder du: python_script_path=python_script_dbfs_path, python_script_params={'arg1', 'arg2'}
Om du vill köra en JAR som finns i DBFS använder du: main_class_name=main_jar_class_name, jar_params={'arg1', 'arg2'}, jar_libraries=[JarLibrary(jar_library_dbfs_path)]
Om du vill köra ett Python-skript som finns på den lokala datorn använder du: python_script_name=python_script_name, source_directory=source_directory
Ange exakt en av notebook_path
, python_script_path
, python_script_name
eller main_class_name
.
- notebook_params
- dict[str, Union[str, PipelineParameter]]
En ordlista med parametrar som ska skickas till notebook-filen. notebook_params
är tillgängliga som widgetar. Du kan hämta värdena från dessa widgetar i notebook-filen med hjälp av dbutils.widgets.get("myparam").
- python_script_path
- str
[Krävs] Sökvägen till Python-skriptet i DBFS.
Ange exakt en av notebook_path
, python_script_path
, python_script_name
eller main_class_name
.
- python_script_params
- list[str, PipelineParameter]
Parametrar för Python-skriptet.
- main_class_name
- str
[Krävs] Namnet på startpunkten i en JAR-modul.
Ange exakt en av notebook_path
, python_script_path
, python_script_name
eller main_class_name
.
- python_script_name
- str
[Krävs] Namnet på ett Python-skript i förhållande till source_directory
.
Om skriptet tar indata och utdata skickas de till skriptet som parametrar.
Om python_script_name
anges måste det source_directory
också vara det.
Ange exakt en av notebook_path
, python_script_path
, python_script_name
eller main_class_name
.
Om du anger ett DataReference-objekt som indata med data_reference_name=input1 och ett PipelineData-objekt som utdata med namn=output1, skickas indata och utdata till skriptet som parametrar. Så här ser de ut och du måste parsa argumenten i skriptet för att komma åt sökvägarna för varje indata och utdata: "-input1","wasbs://test@storagename.blob.core.windows.net/test","-output1", "wasbs://test@storagename.blob.core.windows.net/b3e26de1-87a4-494d-a20f-1988d22b81a2/output1"
Dessutom är följande parametrar tillgängliga i skriptet:
- AZUREML_RUN_TOKEN: AML-token för autentisering med Azure Machine Learning.
- AZUREML_RUN_TOKEN_EXPIRY: Förfallotid för AML-token.
- AZUREML_RUN_ID: Kör-ID för Azure Machine Learning för den här körningen.
- AZUREML_ARM_SUBSCRIPTION: Azure-prenumeration för din AML-arbetsyta.
- AZUREML_ARM_RESOURCEGROUP: Azure-resursgrupp för din Azure Machine Learning-arbetsyta.
- AZUREML_ARM_WORKSPACE_NAME: Namnet på din Azure Machine Learning-arbetsyta.
- AZUREML_ARM_PROJECT_NAME: Namnet på ditt Azure Machine Learning-experiment.
- AZUREML_SERVICE_ENDPOINT: Slutpunkts-URL för AML-tjänster.
- AZUREML_WORKSPACE_ID: ID för din Azure Machine Learning-arbetsyta.
- AZUREML_EXPERIMENT_ID: ID för ditt Azure Machine Learning-experiment.
- AZUREML_SCRIPT_DIRECTORY_NAME: Katalogsökväg i DBFS där source_directory har kopierats.
(Den här parametern fylls bara i när
python_script_name
används. Se mer information nedan.)
När du kör ett Python-skript från den lokala datorn på Databricks med hjälp av DatabricksStep-parametrar och source_directory
python_script_name
kopieras source_directory till DBFS och katalogsökvägen i DBFS skickas som en parameter till skriptet när körningen påbörjas.
Den här parametern är märkt med –AZUREML_SCRIPT_DIRECTORY_NAME. Du måste prefixet med strängen "dbfs:/" eller "/dbfs/" för att komma åt katalogen i DBFS.
- source_directory
- str
Mappen som innehåller skriptet och andra filer.
Om python_script_name
anges måste det source_directory
också vara det.
- hash_paths
- [str]
INAKTUELL: behövs inte längre.
En lista över sökvägar till hash när du söker efter ändringar i steginnehållet. Om inga ändringar identifieras återanvänder pipelinen steginnehållet från en tidigare körning. Som standard hashas innehållet source_directory
i förutom filer som anges i .amlignore eller .gitignore.
- runconfig
- RunConfiguration
Den runconfig som ska användas.
Obs! Du kan skicka så många bibliotek du vill som beroenden till jobbet med hjälp av följande parametrar: maven_libraries
, pypi_libraries
, egg_libraries
, jar_libraries
eller rcran_libraries
. Antingen skickar du dessa parametrar direkt med deras motsvarande parametrar eller som en del av RunConfiguration-objektet med hjälp av parametern runconfig
, men inte båda.
- maven_libraries
- list[MavenLibrary]
Maven-bibliotek som ska användas för Databricks-körningen.
- pypi_libraries
- list[PyPiLibrary]
PyPi-bibliotek som ska användas för Databricks-körningen.
- egg_libraries
- list[EggLibrary]
Äggbibliotek som ska användas för Databricks-körningen.
- jar_libraries
- list[JarLibrary]
Jar-bibliotek som ska användas för Databricks-körningen.
- rcran_libraries
- list[RCranLibrary]
RCran-bibliotek som ska användas för Databricks-körningen.
- compute_target
- str, DatabricksCompute
[Krävs] En Azure Databricks-beräkning. Innan du kan använda DatabricksStep för att köra skript eller notebook-filer på en Azure Databricks-arbetsyta måste du lägga till Azure Databricks-arbetsytan som beräkningsmål till din Azure Machine Learning-arbetsyta.
- allow_reuse
- bool
Anger om steget ska återanvända tidigare resultat när det körs igen med samma inställningar. Återanvändning är aktiverat som standard. Om steginnehållet (skript/beroenden) samt indata och parametrar förblir oförändrade återanvänds utdata från föregående körning av det här steget. När du återanvänder steget, i stället för att skicka jobbet för att beräkna, görs resultaten från den föregående körningen omedelbart tillgängliga för efterföljande steg. Om du använder Azure Machine Learning-datauppsättningar som indata bestäms återanvändning av om datauppsättningens definition har ändrats, inte av om underliggande data har ändrats.
- permit_cluster_restart
- bool
Om existing_cluster_id anges anger den här parametern om klustret kan startas om för användarens räkning.
- inputs
- list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData]]
Lista över indataanslutningar för data som förbrukas av det här steget. Hämta detta i notebook-filen med dbutils.widgets.get("input_name"). Kan vara DataReference eller PipelineData. DataReference representerar en befintlig datamängd i ett datalager. Det här är i princip en sökväg i ett datalager. DatabricksStep stöder datalager som kapslar in DBFS, Azure Blob eller ADLS v1. PipelineData representerar mellanliggande data som produceras av ett annat steg i en pipeline.
- outputs
- list[Union[OutputPortBinding, <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset>, PipelineData]]
En lista över portdefinitioner för utdata som genereras av det här steget. Hämta detta i notebook-filen med dbutils.widgets.get("output_name"). Bör vara PipelineData.
- existing_cluster_id
- str
Ett kluster-ID för ett befintligt interaktivt kluster på Databricks-arbetsytan. Om du skickar den här parametern kan du inte skicka någon av följande parametrar som används för att skapa ett nytt kluster:
- spark_version
- node_type
- instance_pool_id
- num_workers
- min_workers
- max_workers
- spark_env_variables
- spark_conf
Obs! Om du vill skapa ett nytt jobbkluster måste du skicka ovanstående parametrar. Du kan skicka dessa parametrar direkt eller skicka dem som en del av RunConfiguration-objektet med hjälp av parametern runconfig. Om du skickar dessa parametrar direkt och via RunConfiguration uppstår ett fel.
- spark_version
- str
Versionen av Spark för Databricks kör klustret, till exempel: "10.4.x-scala2.12".
Mer information finns i beskrivningen för parametern existing_cluster_id
.
- node_type
- str
[Krävs] Nodtyperna för virtuella Azure-datorer för Databricks-körningsklustret, till exempel: "Standard_D3_v2". Ange antingen node_type
eller instance_pool_id
.
Mer information finns i beskrivningen för parametern existing_cluster_id
.
- instance_pool_id
- str
[Krävs] Det instanspools-ID som klustret måste kopplas till.
Ange antingen node_type
eller instance_pool_id
.
Mer information finns i beskrivningen för parametern existing_cluster_id
.
- num_workers
- int
[Krävs] Det statiska antalet arbetare för Databricks-körningsklustret.
Du måste ange antingen num_workers
eller både min_workers
och max_workers
.
Mer information finns i beskrivningen för parametern existing_cluster_id
.
- min_workers
- int
[Krävs] Minsta antal arbetare som ska användas för automatisk skalning av Databricks-körningsklustret.
Du måste ange antingen num_workers
eller både min_workers
och max_workers
.
Mer information finns i beskrivningen för parametern existing_cluster_id
.
- max_workers
- int
[Krävs] Det maximala antalet arbetare som ska användas för automatisk skalning av Databricks-körningsklustret.
Du måste ange antingen num_workers
eller både min_workers
och max_workers
.
Mer information finns i beskrivningen för parametern existing_cluster_id
.
- spark_env_variables
- dict
Spark-miljövariablerna för Databricks kör klustret.
Mer information finns i beskrivningen för parametern existing_cluster_id
.
- spark_conf
- dict
Spark-konfigurationen för Databricks-körningsklustret.
Mer information finns i beskrivningen för parametern existing_cluster_id
.
- init_scripts
- [str]
Inaktuellt. Databricks meddelade att init-skriptet som lagras i DBFS kommer att sluta fungera efter 1 dec 2023. Du kan åtgärda problemet genom att 1) använda globala init-skript i databricks efter https://learn.microsoft.com/azure/databricks/init-scripts/global 2) kommentera ut raden med init_scripts i azureML-databricks-steget.
- notebook_path
- str
[Krävs] Sökvägen till notebook-filen i Databricks-instansen. Den här klassen tillåter fyra sätt att ange att koden ska köras på Databricks-klustret.
Om du vill köra en notebook-fil som finns på Databricks-arbetsytan använder du: notebook_path=notebook_path, notebook_params={'myparam': 'testparam'}
Om du vill köra ett Python-skript som finns i DBFS använder du: python_script_path=python_script_dbfs_path, python_script_params={'arg1', 'arg2'}
Om du vill köra en JAR som finns i DBFS använder du: main_class_name=main_jar_class_name, jar_params={'arg1', 'arg2'}, jar_libraries=[JarLibrary(jar_library_dbfs_path)]
Om du vill köra ett Python-skript som finns på den lokala datorn använder du: python_script_name=python_script_name, source_directory=source_directory
Ange exakt en av notebook_path
, python_script_path
, python_script_name
eller main_class_name
.
- notebook_params
- dict[str, (str eller PipelineParameter)]
En ordlista med parametrar som ska skickas till notebook-filen. notebook_params
är tillgängliga som widgetar. Du kan hämta värdena från dessa widgetar i notebook-filen med hjälp av dbutils.widgets.get("myparam").
- python_script_path
- str
[Krävs] Sökvägen till Python-skriptet i DBFS.
Ange exakt en av notebook_path
, python_script_path
, python_script_name
eller main_class_name
.
- main_class_name
- str
[Krävs] Namnet på startpunkten i en JAR-modul.
Ange exakt en av notebook_path
, python_script_path
, python_script_name
eller main_class_name
.
- source_directory
- str
Mappen som innehåller skriptet och andra filer.
Om python_script_name
anges måste det source_directory
också vara det.
- hash_paths
- [str]
INAKTUELL: behövs inte längre.
En lista över sökvägar till hash när du söker efter ändringar i steginnehållet. Om inga ändringar identifieras återanvänder pipelinen steginnehållet från en tidigare körning. Som standard hashas innehållet source_directory
i förutom filer som anges i .amlignore eller .gitignore.
- runconfig
- RunConfiguration
Den runconfig som ska användas.
Obs! Du kan skicka så många bibliotek du vill som beroenden till jobbet med hjälp av följande parametrar: maven_libraries
, pypi_libraries
, egg_libraries
, jar_libraries
eller rcran_libraries
. Antingen skickar du dessa parametrar direkt med deras motsvarande parametrar eller som en del av RunConfiguration-objektet med hjälp av parametern runconfig
, men inte båda.
- maven_libraries
- list[<xref:azureml.core.runconfig.MavenLibrary>]
Maven-bibliotek som ska användas för Databricks-körningen.
Mer information om specifikationen för Maven-bibliotek finns i help(azureml.core.runconfig.MavenLibrary)
.
- pypi_libraries
- list[<xref:azureml.core.runconfig.PyPiLibrary>]
PyPi-bibliotek som ska användas för Databricks-körningen.
Mer information om specifikationen för PyPi-bibliotek finns i help(azureml.core.runconfig.PyPiLibrary)
.
- egg_libraries
- list[<xref:azureml.core.runconfig.EggLibrary>]
Äggbibliotek som ska användas för Databricks-körningen.
Mer information om specifikationen av Äggbibliotek finns i help(azureml.core.runconfig.EggLibrary)
.
- jar_libraries
- list[<xref:azureml.core.runconfig.JarLibrary>]
Jar-bibliotek som ska användas för Databricks-körningen.
Mer information om specifikationen för Jar-bibliotek finns i help(azureml.core.runconfig.JarLibrary)
.
- rcran_libraries
- list[<xref:azureml.core.runconfig.RCranLibrary>]
RCran-bibliotek som ska användas för Databricks-körningen.
Mer information om specifikationen för RCran-bibliotek finns i help(azureml.core.runconfig.RCranLibrary)
.
- compute_target
- str, DatabricksCompute
[Krävs] Azure Databricks-beräkning. Innan du kan använda DatabricksStep för att köra skript eller notebook-filer på en Azure Databricks-arbetsyta måste du lägga till Azure Databricks-arbetsytan som beräkningsmål till din Azure Machine Learning-arbetsyta.
- allow_reuse
- bool
Anger om steget ska återanvända tidigare resultat när det körs igen med samma inställningar. Återanvändning är aktiverat som standard. Om steginnehållet (skript/beroenden) samt indata och parametrar förblir oförändrade återanvänds utdata från föregående körning av det här steget. När du återanvänder steget, i stället för att skicka jobbet för att beräkna, görs resultaten från den föregående körningen omedelbart tillgängliga för efterföljande steg. Om du använder Azure Machine Learning-datauppsättningar som indata bestäms återanvändning av om datauppsättningens definition har ändrats, inte av om underliggande data har ändrats.
- permit_cluster_restart
- bool
Om existing_cluster_id anges anger den här parametern om klustret kan startas om för användarens räkning.
Metoder
create_node |
Skapa en nod från Steget Databricks och lägg till den i den angivna grafen. Den här metoden är inte avsedd att användas direkt. När en pipeline instansieras med det här steget skickar Azure ML automatiskt de parametrar som krävs via den här metoden så att steget kan läggas till i ett pipelinediagram som representerar arbetsflödet. |
create_node
Skapa en nod från Steget Databricks och lägg till den i den angivna grafen.
Den här metoden är inte avsedd att användas direkt. När en pipeline instansieras med det här steget skickar Azure ML automatiskt de parametrar som krävs via den här metoden så att steget kan läggas till i ett pipelinediagram som representerar arbetsflödet.
create_node(graph, default_datastore, context)
Parametrar
- default_datastore
- Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
Standarddatalager.
- context
- <xref:azureml.pipeline.core._GraphContext>
Grafkontexten.
Returer
Den skapade noden.
Returtyp
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för