DatabricksStep Klasse
Erstellt einen Azure ML-Pipelineschritt, um ein DataBricks-Notebook, ein Python-Skript oder eine JAR-Datei als Knoten hinzuzufügen.
Ein Beispiel für die Verwendung von DatabricksStep finden Sie im Notebook https://aka.ms/pl-databricks.
Erstellen Sie einen Azure ML Pipeline-Schritt, um ein DataBricks-Notebook, Python-Skript oder JAR als Knoten hinzuzufügen.
Ein Beispiel für die Verwendung von DatabricksStep finden Sie im Notebook https://aka.ms/pl-databricks.
:p aram python_script_name:[Erforderlich] Der Name eines Python-Skripts relativ zu source_directory
.
Wenn das Skript Eingaben und Ausgaben verwendet, werden diese als Parameter an das Skript übergeben.
Wenn python_script_name
angegeben ist, muss source_directory
ebenfalls angegeben sein.
Geben Sie genau eines von notebook_path
, python_script_path
python_script_name
, oder anmain_class_name
.
Wenn Sie ein DataReference-Objekt als Eingabe mit data_reference_name=input1 und ein PipelineData-Objekt als Ausgabe mit name=output1 angeben, werden die Eingaben und Ausgaben als Parameter an das Skript übergeben. So sehen sie aus, und Sie müssen die Argumente in Ihrem Skript analysieren, um auf die Pfade jeder Eingabe und Ausgabe zu zugreifen: "-input1", "wasbs://test@storagename.blob.core.windows.net/test", "-output1", "wasbs://test@storagename.blob.core.windows.net/b3e26de1-87a4-494d-a20f-1988d22b81a2/output1"
Darüber hinaus sind die folgenden Parameter im Skript verfügbar:
- AZUREML_RUN_TOKEN: Das AML für die Authentifizierung mit Azure Machine Learning.
- AZUREML_RUN_TOKEN_EXPIRY: Die AML Ablaufzeit des Tokens.
- AZUREML_RUN_ID: Azure Machine Learning Ausführungs-ID für diese Ausführung.
- AZUREML_ARM_SUBSCRIPTION: Azure-Abonnement für Ihren AML Arbeitsbereich.
- AZUREML_ARM_RESOURCEGROUP: Azure-Ressourcengruppe für Ihren Azure Machine Learning Arbeitsbereich.
- AZUREML_ARM_WORKSPACE_NAME: Name Ihres Azure Machine Learning Arbeitsbereichs.
- AZUREML_ARM_PROJECT_NAME: Name Ihres Azure Machine Learning Experiments.
- AZUREML_SERVICE_ENDPOINT: Die Endpunkt-URL für AML Dienste.
- AZUREML_WORKSPACE_ID: ID Ihres Azure Machine Learning-Arbeitsbereichs.
- AZUREML_EXPERIMENT_ID: ID Ihres Azure Machine Learning-Experiments.
- AZUREML_SCRIPT_DIRECTORY_NAME: Verzeichnispfadstruktur in DBFS, wobei source_directory kopiert wurde.
(This parameter is only populated when `python_script_name` is used. See more details below.)
Wenn Sie ein Python-Skript von Ihrem lokalen Computer auf Databricks mithilfe der DatabricksStep-Parameter source_directory
und python_script_name
, wird Ihr source_directory in DBFS kopiert, und der Verzeichnisstrukturpfad in DBFS wird als Parameter an Ihr Skript übergeben, wenn es mit der Ausführung beginnt.
Dieser Parameter wird bezeichnet als --AZUREML_SCRIPT_DIRECTORY_NAME. Sie müssen ihr die Zeichenfolge "dbfs:/" voran stellen. oder "/dbfs/", um auf das Verzeichnis in DBFS zu zugreifen.
- Vererbung
-
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)
Parameter
Name | Beschreibung |
---|---|
name
Erforderlich
|
[Erforderlich] Der Name des Schritts. |
inputs
|
Eine Liste der Eingabeverbindungen für daten, die von diesem Schritt verwendet werden. Rufen Sie die Liste im Notebook mithilfe von dbutils.widgets.get("input_name") ab. Kann DataReference oder PipelineData sein. DataReference stellt ein vorhandenes Datenstück in einem Datenspeicher dar. Im Wesentlichen ist dies ein Pfad zu einem Datenspeicher. DatabricksStep unterstützt Datenspeicher, die DBFS, Azure Blob oder ADLS v1 kapseln. PipelineData stellt Zwischendaten dar, die durch einen anderen Schritt in einer Pipeline erzeugt wurden. Standardwert: None
|
outputs
|
Eine Liste der Ausgabeportdefinitionen für Ausgaben, die in diesem Schritt erzeugt werden. Rufen Sie die Liste im Notebook mithilfe von dbutils.widgets.get("output_name") ab. Sollte PipelineData sein. Standardwert: None
|
existing_cluster_id
|
Eine Cluster-ID eines vorhandenen interaktiven Clusters im Databricks-Arbeitsbereich. Wenn Sie diesen Parameter übergeben, können Sie keinen der folgenden Parameter übergeben, die zum Erstellen eines neuen Clusters verwendet werden:
Hinweis: Zum Erstellen eines neuen Auftragsclusters müssen Sie die oben genannten Parameter übergeben. Sie können diese Parameter direkt übergeben, oder Sie können sie als Teil des RunConfiguration-Objekts mithilfe des runconfig-Parameters übergeben. Die direkte Übergabe dieser Parameter und runConfiguration führt zu einem Fehler. Standardwert: None
|
spark_version
|
Die Spark-Version für den Databricks-Ausführungscluster, z. B. "10.4.x-scala2.12".
Weitere Informationen finden Sie in der Beschreibung für Standardwert: None
|
node_type
|
[Erforderlich] Die Azure-VM-Knotentypen für den Databricks-Ausführungscluster, z. B. "Standard_D3_v2". Geben Sie entweder Standardwert: None
|
instance_pool_id
|
[Erforderlich] Die Instanzpool-ID, an die der Cluster angefügt werden muss.
Geben Sie entweder Standardwert: None
|
num_workers
|
[Erforderlich] Die statische Anzahl von Workern für den Databricks-Cluster.
Sie müssen entweder Standardwert: None
|
min_workers
|
[Erforderlich] Die Mindestanzahl von Workers, die für die automatische Skalierung des Databricks-Ausführungsclusters verwendet werden.
Sie müssen entweder Standardwert: None
|
max_workers
|
[Erforderlich] Die maximale Anzahl von Workers, die für die automatische Skalierung des Databricks-Ausführungsclusters verwendet werden.
Sie müssen entweder Standardwert: None
|
spark_env_variables
|
Die Spark-Umgebungsvariablen für den Databricks-Ausführungscluster.
Weitere Informationen finden Sie in der Beschreibung für Standardwert: None
|
spark_conf
|
Die Spark-Konfiguration für den Databricks-Ausführungscluster.
Weitere Informationen finden Sie in der Beschreibung für Standardwert: None
|
init_scripts
|
[str]
Veraltet. Databricks hat angekündigt, dass das in DBFS gespeicherte Initialisierungsskript nach dem 1. Dezember 2023 nicht mehr funktioniert. Um das Problem zu beheben, verwenden Sie 1) globale Initialisierungsskripts in Databricks, https://learn.microsoft.com/azure/databricks/init-scripts/global 2) kommentieren Sie die Zeile der init_scripts in Ihrem AzureML databricks-Schritt aus. Standardwert: None
|
cluster_log_dbfs_path
|
Die DBFS-Pfade, an die Clusterprotokolle übermittelt werden sollen. Standardwert: None
|
notebook_path
|
[Erforderlich] Der Pfad zum Notebook in der Databricks-Instanz. Diese Klasse ermöglicht vier Möglichkeiten, den Code anzugeben, der im Databricks-Cluster ausgeführt werden soll.
Geben Sie genau eines von Standardwert: None
|
notebook_params
|
Ein Wörterbuch mit Parametern, die an das Notebook übergeben werden.
Standardwert: None
|
python_script_path
|
[Erforderlich] Der Pfad zum Python-Skript im DBFS.
Geben Sie genau eines von Standardwert: None
|
python_script_params
|
Parameter für das Python-Skript. Standardwert: None
|
main_class_name
|
[Erforderlich] Der Name des Einstiegspunkts in einem JAR-Modul.
Geben Sie genau eines von Standardwert: None
|
jar_params
|
Parameter für das JAR-Modul. Standardwert: None
|
python_script_name
|
[Erforderlich] Der Name eines Python-Skripts, relativ zu Geben Sie genau eines von Wenn Sie ein DataReference-Objekt als Eingabe mit data_reference_name=input1 und ein PipelineData-Objekt als Ausgabe mit name=output1 angeben, werden die Eingaben und Ausgaben als Parameter an das Skript übergeben. So sehen sie aus, und Sie müssen die Argumente in Ihrem Skript analysieren, um auf die Pfade jeder Eingabe und Ausgabe zu zugreifen: "-input1", "wasbs://test@storagename.blob.core.windows.net/test", "-output1", "wasbs://test@storagename.blob.core.windows.net/b3e26de1-87a4-494d-a20f-1988d22b81a2/output1" Darüber hinaus sind die folgenden Parameter im Skript verfügbar:
Wenn Sie ein Python-Skript von Ihrem lokalen Computer auf Databricks mithilfe der DatabricksStep-Parameter Standardwert: None
|
source_directory
|
Das Verzeichnis, das das Skript und andere Dateien enthält.
Wenn Standardwert: None
|
hash_paths
|
[str]
VERALTET: nicht mehr erforderlich. Eine Liste der Pfade, die bei der Überprüfung auf Änderungen am Schrittinhalt gehasht werden sollen. Wenn keine Änderungen erkannt werden, verwendet die Pipeline den Schrittinhalt einer vorherigen Ausführung erneut. Für Inhalte von Standardwert: None
|
run_name
|
Der Name für diese Ausführung in Databricks. Standardwert: None
|
timeout_seconds
|
Das Timeout für die Databricks-Ausführung. Standardwert: None
|
runconfig
|
Die zu verwendende Runconfig. Hinweis: Sie können mithilfe der folgenden Parameter beliebig viele Bibliotheken als Abhängigkeiten an Ihren Auftrag übergeben: Standardwert: None
|
maven_libraries
|
Maven-Bibliotheken, die für die Databricks-Ausführung verwendet werden sollen. Standardwert: None
|
pypi_libraries
|
PyPi-Bibliotheken, die für die Databricks-Ausführung verwendet werden sollen. Standardwert: None
|
egg_libraries
|
Die für die Databricks-Ausführung zu verwendenden Bibliotheken. Standardwert: None
|
jar_libraries
|
JAR-Bibliotheken, die für die Databricks-Ausführung verwendet werden sollen. Standardwert: None
|
rcran_libraries
|
RCran-Bibliotheken, die für die Databricks-Ausführung verwendet werden sollen. Standardwert: None
|
compute_target
|
[Erforderlich] Ein Azure Databricks Compute. Bevor Sie DatabricksStep zum Ausführen Ihrer Skripts oder Notebooks in einem Azure Databricks Arbeitsbereich verwenden können, müssen Sie den Azure Databricks Arbeitsbereich ihrem Azure Machine Learning Arbeitsbereich als Computeziel hinzufügen. Standardwert: None
|
allow_reuse
|
Gibt an, ob bei dem Schritt vorherige Ergebnisse wiederverwendet werden sollen, wenn er mit den gleichen Einstellungen erneut ausgeführt wird. Die Wiederverwendung ist standardmäßig aktiviert. Wenn der Schrittinhalt (Skripts/Abhängigkeiten) sowie die Eingaben und Parameter unverändert bleiben, wird die Ausgabe der vorherigen Ausführung dieses Schritts wiederverwendet. Wenn Sie den Schritt wiederverwenden, anstatt den Auftrag zum Berechnen zu übermitteln, werden die Ergebnisse der vorherigen Ausführung sofort für alle nachfolgenden Schritte verfügbar gemacht. Wenn Sie Azure Machine Learning-Datasets als Eingaben verwenden, hängt die Wiederverwendung nicht davon ab, ob sich die zugrunde liegenden Daten geändert haben, sondern davon, ob sich die Definition des Datasets geändert hat. Standardwert: True
|
version
|
Ein optionales Versionstag, um eine Änderung der Funktionalität für den Schritt zu kennzeichnen. Standardwert: None
|
permit_cluster_restart
|
wenn existing_cluster_id angegeben ist, gibt dieser Parameter an, ob der Cluster im Auftrag des Benutzers neu gestartet werden kann. Standardwert: None
|
name
Erforderlich
|
[Erforderlich] Der Name des Schritts. |
inputs
Erforderlich
|
Liste der Eingabeverbindungen für daten, die in diesem Schritt verwendet werden. Rufen Sie die Liste im Notebook mithilfe von dbutils.widgets.get("input_name") ab. Kann DataReference oder PipelineData sein. DataReference stellt ein vorhandenes Datenstück in einem Datenspeicher dar. Im Wesentlichen ist dies ein Pfad zu einem Datenspeicher. DatabricksStep unterstützt Datenspeicher, die DBFS, Azure Blob oder ADLS v1 kapseln. PipelineData stellt Zwischendaten dar, die durch einen anderen Schritt in einer Pipeline erzeugt wurden. |
outputs
Erforderlich
|
list[Union[OutputPortBinding, <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset>, PipelineData]]
Eine Liste der Ausgabeportdefinitionen für Ausgaben, die in diesem Schritt erzeugt werden. Rufen Sie die Liste im Notebook mithilfe von dbutils.widgets.get("output_name") ab. Sollte PipelineData sein. |
existing_cluster_id
Erforderlich
|
Eine Cluster-ID eines vorhandenen interaktiven Clusters im Databricks-Arbeitsbereich. Wenn Sie diesen Parameter übergeben, können Sie keinen der folgenden Parameter übergeben, die zum Erstellen eines neuen Clusters verwendet werden:
Hinweis: Zum Erstellen eines neuen Auftragsclusters müssen Sie die oben genannten Parameter übergeben. Sie können diese Parameter direkt übergeben, oder Sie können sie als Teil des RunConfiguration-Objekts mithilfe des runconfig-Parameters übergeben. Die direkte Übergabe dieser Parameter und runConfiguration führt zu einem Fehler. |
spark_version
Erforderlich
|
Die Spark-Version für den Databricks-Ausführungscluster, z. B. "10.4.x-scala2.12".
Weitere Informationen finden Sie in der Beschreibung für |
node_type
Erforderlich
|
[Erforderlich] Die Azure-VM-Knotentypen für den Databricks-Ausführungscluster, z. B. "Standard_D3_v2". Geben Sie entweder |
instance_pool_id
Erforderlich
|
[Erforderlich] Die Instanzpool-ID, an die der Cluster angefügt werden muss.
Geben Sie entweder |
num_workers
Erforderlich
|
[Erforderlich] Die statische Anzahl von Workern für den Databricks-Cluster.
Sie müssen entweder Weitere Informationen finden Sie in der Beschreibung für |
min_workers
Erforderlich
|
[Erforderlich] Die Mindestanzahl von Workers, die für die automatische Skalierung des Databricks-Ausführungsclusters verwendet werden.
Sie müssen entweder Weitere Informationen finden Sie in der Beschreibung für |
max_workers
Erforderlich
|
[Erforderlich] Die maximale Anzahl von Workers, die für die automatische Skalierung des Databricks-Ausführungsclusters verwendet werden.
Sie müssen entweder Weitere Informationen finden Sie in der Beschreibung für |
spark_env_variables
Erforderlich
|
Die Spark-Umgebungsvariablen für den Databricks-Ausführungscluster.
Weitere Informationen finden Sie in der Beschreibung für |
spark_conf
Erforderlich
|
Die Spark-Konfiguration für den Databricks-Ausführungscluster.
Weitere Informationen finden Sie in der Beschreibung für |
init_scripts
Erforderlich
|
[str]
Veraltet. Databricks hat angekündigt, dass das in DBFS gespeicherte Initskript nach dem 1. Dezember 2023 nicht mehr funktioniert. Um das Problem zu beheben, bitte 1) Verwenden Sie globale Initskripts in databricks, https://learn.microsoft.com/azure/databricks/init-scripts/global 2) kommentieren Sie die Zeile init_scripts in Ihrem AzureML databricks-Schritt aus. |
cluster_log_dbfs_path
Erforderlich
|
Die DBFS-Pfade, an die Clusterprotokolle übermittelt werden sollen. |
notebook_path
Erforderlich
|
[Erforderlich] Der Pfad zum Notebook in der Databricks-Instanz. Diese Klasse ermöglicht vier Möglichkeiten, den Code anzugeben, der im Databricks-Cluster ausgeführt werden soll.
Geben Sie genau eines von |
notebook_params
Erforderlich
|
Ein Wörterbuch mit Parametern, die an das Notebook übergeben werden.
|
python_script_path
Erforderlich
|
[Erforderlich] Der Pfad zum Python-Skript im DBFS.
Geben Sie genau eines von |
python_script_params
Erforderlich
|
Parameter für das Python-Skript. |
main_class_name
Erforderlich
|
[Erforderlich] Der Name des Einstiegspunkts in einem JAR-Modul.
Geben Sie genau eines von |
jar_params
Erforderlich
|
Parameter für das JAR-Modul. |
source_directory
Erforderlich
|
Das Verzeichnis, das das Skript und andere Dateien enthält.
Wenn |
hash_paths
Erforderlich
|
[str]
VERALTET: nicht mehr erforderlich. Eine Liste der Pfade, die bei der Überprüfung auf Änderungen am Schrittinhalt gehasht werden sollen. Wenn keine Änderungen erkannt werden, verwendet die Pipeline den Schrittinhalt einer vorherigen Ausführung erneut. Für Inhalte von |
run_name
Erforderlich
|
Der Name für diese Ausführung in Databricks. |
timeout_seconds
Erforderlich
|
Das Timeout für die Databricks-Ausführung. |
runconfig
Erforderlich
|
Die zu verwendende Runconfig. Hinweis: Sie können mithilfe der folgenden Parameter beliebig viele Bibliotheken als Abhängigkeiten an Ihren Auftrag übergeben: |
maven_libraries
Erforderlich
|
list[<xref:azureml.core.runconfig.MavenLibrary>]
Maven-Bibliotheken, die für die Databricks-Ausführung verwendet werden sollen.
Weitere Informationen zur Spezifikation von Maven-Bibliotheken finden Sie unter |
pypi_libraries
Erforderlich
|
list[<xref:azureml.core.runconfig.PyPiLibrary>]
PyPi-Bibliotheken, die für die Databricks-Ausführung verwendet werden sollen.
Weitere Informationen zur Spezifikation von PyPi-Bibliotheken finden Sie unter |
egg_libraries
Erforderlich
|
list[<xref:azureml.core.runconfig.EggLibrary>]
Die für die Databricks-Ausführung zu verwendenden Bibliotheken.
Weitere Informationen zur Spezifikation von Egg-Bibliotheken finden Sie unter |
jar_libraries
Erforderlich
|
list[<xref:azureml.core.runconfig.JarLibrary>]
JAR-Bibliotheken, die für die Databricks-Ausführung verwendet werden sollen.
Weitere Informationen zur Spezifikation von JAR-Bibliotheken finden Sie unter |
rcran_libraries
Erforderlich
|
list[<xref:azureml.core.runconfig.RCranLibrary>]
RCran-Bibliotheken, die für die Databricks-Ausführung verwendet werden sollen.
Weitere Informationen zur Spezifikation von RCran-Bibliotheken finden Sie unter |
compute_target
Erforderlich
|
[Erforderlich] Azure Databricks-Compute. Bevor Sie DatabricksStep zum Ausführen Ihrer Skripts oder Notebooks in einem Azure Databricks Arbeitsbereich verwenden können, müssen Sie den Azure Databricks Arbeitsbereich ihrem Azure Machine Learning Arbeitsbereich als Computeziel hinzufügen. |
allow_reuse
Erforderlich
|
Gibt an, ob bei dem Schritt vorherige Ergebnisse wiederverwendet werden sollen, wenn er mit den gleichen Einstellungen erneut ausgeführt wird. Die Wiederverwendung ist standardmäßig aktiviert. Wenn der Schrittinhalt (Skripts/Abhängigkeiten) sowie die Eingaben und Parameter unverändert bleiben, wird die Ausgabe der vorherigen Ausführung dieses Schritts wiederverwendet. Wenn Sie den Schritt wiederverwenden, anstatt den Auftrag zum Berechnen zu übermitteln, werden die Ergebnisse der vorherigen Ausführung sofort für alle nachfolgenden Schritte verfügbar gemacht. Wenn Sie Azure Machine Learning-Datasets als Eingaben verwenden, hängt die Wiederverwendung nicht davon ab, ob sich die zugrunde liegenden Daten geändert haben, sondern davon, ob sich die Definition des Datasets geändert hat. |
version
Erforderlich
|
Ein optionales Versionstag, um eine Änderung der Funktionalität für den Schritt zu kennzeichnen. |
permit_cluster_restart
Erforderlich
|
wenn existing_cluster_id angegeben ist, gibt dieser Parameter an, ob der Cluster im Auftrag des Benutzers neu gestartet werden kann. |
Methoden
create_node |
Erstellen Sie einen Knoten aus dem Databricks-Schritt, und fügen Sie ihn dem angegebenen Diagramm hinzu. Diese Methode ist nicht für die direkte Nutzung vorgesehen. Wenn eine Pipeline mit diesem Schritt instanziiert wird, werden von Azure ML automatisch die für diese Methode erforderlichen Parameter übergeben, damit der Schritt einem Pipelinegraphen hinzugefügt werden kann, der den Workflow darstellt. |
create_node
Erstellen Sie einen Knoten aus dem Databricks-Schritt, und fügen Sie ihn dem angegebenen Diagramm hinzu.
Diese Methode ist nicht für die direkte Nutzung vorgesehen. Wenn eine Pipeline mit diesem Schritt instanziiert wird, werden von Azure ML automatisch die für diese Methode erforderlichen Parameter übergeben, damit der Schritt einem Pipelinegraphen hinzugefügt werden kann, der den Workflow darstellt.
create_node(graph, default_datastore, context)
Parameter
Name | Beschreibung |
---|---|
graph
Erforderlich
|
Das Graphobjekt, dem der Knoten hinzugefügt werden soll. |
default_datastore
Erforderlich
|
Der Standarddatenspeicher. |
context
Erforderlich
|
<xref:azureml.pipeline.core._GraphContext>
Der Graphkontext. |
Gibt zurück
Typ | Beschreibung |
---|---|
Der erstellte Knoten. |