DatabricksStep Classe
Crea un passaggio della pipeline di Azure ML per aggiungere un notebook di DataBricks, uno script Python o un file JAR come nodo.
Per un esempio di uso di DatabricksStep, vedere il notebook https://aka.ms/pl-databricks.
Creare un passaggio della pipeline di Azure ML per aggiungere un notebook di DataBricks, uno script Python o un file JAR come nodo.
Per un esempio di uso di DatabricksStep, vedere il notebook https://aka.ms/pl-databricks.
:p aram python_script_name:[Obbligatorio] Nome di uno script Python relativo a source_directory
.
Se lo script accetta input e output, questi verranno passati allo script come parametri.
Se python_script_name
viene specificato, source_directory
deve essere troppo.
Specificare esattamente uno di notebook_path
, python_script_path
, python_script_name
o main_class_name
.
Se si specifica un oggetto DataReference come input con data_reference_name=input1 e un oggetto PipelineData come output con name=output1, gli input e gli output verranno passati allo script come parametri. Questo è il modo in cui saranno simili e sarà necessario analizzare gli argomenti nello script per accedere ai percorsi di ogni input e output: "-input1","wasbs://test@storagename.blob.core.windows.net/test","-output1", "wasbs://test@storagename.blob.core.windows.net/b3e26de1-87a4-494d-a20f-1988d22b81a2/output1"
Inoltre, i parametri seguenti saranno disponibili all'interno dello script:
- AZUREML_RUN_TOKEN: token AML per l'autenticazione con Azure Machine Learning.
- AZUREML_RUN_TOKEN_EXPIRY: ora di scadenza del token AML.
- AZUREML_RUN_ID: ID di esecuzione di Azure Machine Learning per questa esecuzione.
- AZUREML_ARM_SUBSCRIPTION: sottoscrizione di Azure per l'area di lavoro AML.
- AZUREML_ARM_RESOURCEGROUP: gruppo di risorse di Azure per l'area di lavoro di Azure Machine Learning.
- AZUREML_ARM_WORKSPACE_NAME: nome dell'area di lavoro di Azure Machine Learning.
- AZUREML_ARM_PROJECT_NAME: nome dell'esperimento di Azure Machine Learning.
- AZUREML_SERVICE_ENDPOINT: URL dell'endpoint per i servizi AML.
- AZUREML_WORKSPACE_ID: ID dell'area di lavoro di Azure Machine Learning.
- AZUREML_EXPERIMENT_ID: ID dell'esperimento di Azure Machine Learning.
- AZUREML_SCRIPT_DIRECTORY_NAME: percorso della directory in DBFS in cui source_directory è stato copiato.
(This parameter is only populated when `python_script_name` is used. See more details below.)
Quando si esegue uno script Python dal computer locale in Databricks usando i source_directory
parametri DatabricksStep e python_script_name
, il source_directory viene copiato in DBFS e il percorso della directory in DBFS viene passato come parametro allo script quando inizia l'esecuzione.
Questo parametro viene etichettato come –AZUREML_SCRIPT_DIRECTORY_NAME. È necessario anteporre la stringa "dbfs:/" o "/dbfs/" per accedere alla directory in DBFS.
- Ereditarietà
-
azureml.pipeline.core._databricks_step_base._DatabricksStepBaseDatabricksStep
Costruttore
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)
Parametri
Nome | Descrizione |
---|---|
name
Necessario
|
[Obbligatorio] Nome del passaggio. |
inputs
|
Elenco di connessioni di input per i dati utilizzati da questo passaggio. Recuperarlo all'interno del notebook usando dbutils.widgets.get("input_name"). Può essere DataReference o PipelineData. DataReference rappresenta una parte di dati esistente in un archivio dati. Essenzialmente si tratta di un percorso in un archivio dati. DatabricksStep supporta archivi dati che incapsula DBFS, BLOB di Azure o ADLS v1. PipelineData rappresenta i dati intermedi prodotti da un altro passaggio in una pipeline. Valore predefinito: None
|
outputs
|
Elenco delle definizioni delle porte di output per gli output generati da questo passaggio. Recuperarlo all'interno del notebook usando dbutils.widgets.get("output_name"). Deve essere PipelineData. Valore predefinito: None
|
existing_cluster_id
|
ID cluster di un cluster interattivo esistente nell'area di lavoro di Databricks. Se si passa questo parametro, non è possibile passare uno dei parametri seguenti che vengono usati per creare un nuovo cluster:
Nota: per creare un nuovo cluster di processi, è necessario passare i parametri precedenti. È possibile passare questi parametri direttamente oppure passarli come parte dell'oggetto RunConfiguration usando il parametro runconfig. Il passaggio di questi parametri direttamente e tramite RunConfiguration genera un errore. Valore predefinito: None
|
spark_version
|
La versione di Spark per il cluster di esecuzione di Databricks, ad esempio: "10.4.x-scala2.12".
Per altre informazioni, vedere la descrizione del Valore predefinito: None
|
node_type
|
[Obbligatorio] I tipi di nodo della macchina virtuale di Azure per il cluster di esecuzione di Databricks, ad esempio "Standard_D3_v2". Specificare Valore predefinito: None
|
instance_pool_id
|
[Obbligatorio] ID del pool di istanze a cui deve essere collegato il cluster.
Specificare Valore predefinito: None
|
num_workers
|
[Obbligatorio] Numero statico di ruoli di lavoro per il cluster di esecuzione di Databricks.
È necessario specificare Valore predefinito: None
|
min_workers
|
[Obbligatorio] Numero minimo di ruoli di lavoro da usare per il ridimensionamento automatico del cluster di esecuzione di Databricks.
È necessario specificare Valore predefinito: None
|
max_workers
|
[Obbligatorio] Numero massimo di ruoli di lavoro da usare per il ridimensionamento automatico del cluster di esecuzione di Databricks.
È necessario specificare Valore predefinito: None
|
spark_env_variables
|
Le variabili di ambiente Spark per il cluster di esecuzione di Databricks.
Per altre informazioni, vedere la descrizione del Valore predefinito: None
|
spark_conf
|
Configurazione spark per il cluster di esecuzione di Databricks.
Per altre informazioni, vedere la descrizione del Valore predefinito: None
|
init_scripts
|
[str]
Deprecato. Databricks ha annunciato che lo script init archiviato in DBFS smetterà di funzionare dopo il 1° dicembre 2023. Per attenuare il problema, usare script init globali in databricks seguenti https://learn.microsoft.com/azure/databricks/init-scripts/global 2) impostare come commento la riga di init_scripts nel passaggio databricks di AzureML. Valore predefinito: None
|
cluster_log_dbfs_path
|
Percorsi DBFS in cui devono essere recapitati i log dei cluster. Valore predefinito: None
|
notebook_path
|
[Obbligatorio] Percorso del notebook nell'istanza di Databricks. Questa classe consente di specificare quattro modi per specificare il codice da eseguire nel cluster Databricks.
Specificare esattamente uno di Valore predefinito: None
|
notebook_params
|
Dizionario di parametri da passare al notebook.
Valore predefinito: None
|
python_script_path
|
[Obbligatorio] Percorso dello script Python in DBFS.
Specificare esattamente uno di Valore predefinito: None
|
python_script_params
|
Parametri per lo script Python. Valore predefinito: None
|
main_class_name
|
[Obbligatorio] Nome del punto di ingresso in un modulo JAR.
Specificare esattamente uno di Valore predefinito: None
|
jar_params
|
Parametri per il modulo JAR. Valore predefinito: None
|
python_script_name
|
[Obbligatorio] Nome di uno script Python relativo a Specificare esattamente uno di Se si specifica un oggetto DataReference come input con data_reference_name=input1 e un oggetto PipelineData come output con name=output1, gli input e gli output verranno passati allo script come parametri. Questo è il modo in cui saranno simili e sarà necessario analizzare gli argomenti nello script per accedere ai percorsi di ogni input e output: "-input1","wasbs://test@storagename.blob.core.windows.net/test","-output1", "wasbs://test@storagename.blob.core.windows.net/b3e26de1-87a4-494d-a20f-1988d22b81a2/output1" Inoltre, i parametri seguenti saranno disponibili all'interno dello script:
Quando si esegue uno script Python dal computer locale in Databricks usando i Valore predefinito: None
|
source_directory
|
Cartella contenente lo script e altri file.
Se Valore predefinito: None
|
hash_paths
|
[str]
DEPRECATO: non più necessario. Elenco di percorsi di hash durante il controllo delle modifiche apportate al contenuto del passaggio. Se non sono state rilevate modifiche, la pipeline riutilizzerà il contenuto del passaggio da un'esecuzione precedente. Per impostazione predefinita, il contenuto di viene sottoposto a hash, ad eccezione dei Valore predefinito: None
|
run_name
|
Nome in Databricks per questa esecuzione. Valore predefinito: None
|
timeout_seconds
|
Timeout per l'esecuzione di Databricks. Valore predefinito: None
|
runconfig
|
Runconfig da usare. Nota: è possibile passare tutte le librerie desiderate come dipendenze al processo usando i parametri seguenti: Valore predefinito: None
|
maven_libraries
|
Librerie Maven da usare per l'esecuzione di Databricks. Valore predefinito: None
|
pypi_libraries
|
Librerie PyPi da usare per l'esecuzione di Databricks. Valore predefinito: None
|
egg_libraries
|
Librerie Egg da usare per l'esecuzione di Databricks. Valore predefinito: None
|
jar_libraries
|
Librerie JAR da usare per l'esecuzione di Databricks. Valore predefinito: None
|
rcran_libraries
|
Librerie RCran da usare per l'esecuzione di Databricks. Valore predefinito: None
|
compute_target
|
[Obbligatorio] Un ambiente di calcolo di Azure Databricks. Prima di poter usare DatabricksStep per eseguire gli script o i notebook in un'area di lavoro di Azure Databricks, è necessario aggiungere l'area di lavoro di Azure Databricks come destinazione di calcolo all'area di lavoro di Azure Machine Learning. Valore predefinito: None
|
allow_reuse
|
Indica se il passaggio deve riutilizzare i risultati precedenti quando viene eseguito di nuovo con le stesse impostazioni. Il riutilizzo è abilitato per impostazione predefinita. Se il contenuto del passaggio (script/dipendenze) e gli input e i parametri rimangono invariati, l'output dell'esecuzione precedente di questo passaggio viene riutilizzato. Quando si riutilizza il passaggio, anziché inviare il processo al calcolo, i risultati dell'esecuzione precedente vengono immediatamente resi disponibili per tutti i passaggi successivi. Se si usano set di dati di Azure Machine Learning come input, il riutilizzo viene determinato dal fatto che la definizione del set di dati sia stata modificata, non dal fatto che i dati sottostanti siano stati modificati. Valore predefinito: True
|
version
|
Tag di versione facoltativo per indicare una modifica delle funzionalità per il passaggio. Valore predefinito: None
|
permit_cluster_restart
|
se viene specificato existing_cluster_id, questo parametro indica se il cluster può essere riavviato per conto dell'utente. Valore predefinito: None
|
name
Necessario
|
[Obbligatorio] Nome del passaggio. |
inputs
Necessario
|
Elenco di connessioni di input per i dati utilizzati da questo passaggio. Recuperarlo all'interno del notebook usando dbutils.widgets.get("input_name"). Può essere DataReference o PipelineData. DataReference rappresenta una parte di dati esistente in un archivio dati. Essenzialmente si tratta di un percorso in un archivio dati. DatabricksStep supporta archivi dati che incapsula DBFS, BLOB di Azure o ADLS v1. PipelineData rappresenta i dati intermedi prodotti da un altro passaggio in una pipeline. |
outputs
Necessario
|
list[Union[OutputPortBinding, <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset>, PipelineData]]
Elenco delle definizioni delle porte di output per gli output generati da questo passaggio. Recuperarlo all'interno del notebook usando dbutils.widgets.get("output_name"). Deve essere PipelineData. |
existing_cluster_id
Necessario
|
ID cluster di un cluster interattivo esistente nell'area di lavoro di Databricks. Se si passa questo parametro, non è possibile passare uno dei parametri seguenti che vengono usati per creare un nuovo cluster:
Nota: per creare un nuovo cluster di processi, è necessario passare i parametri precedenti. È possibile passare questi parametri direttamente oppure passarli come parte dell'oggetto RunConfiguration usando il parametro runconfig. Il passaggio di questi parametri direttamente e tramite RunConfiguration genera un errore. |
spark_version
Necessario
|
La versione di Spark per il cluster di esecuzione di Databricks, ad esempio: "10.4.x-scala2.12".
Per altre informazioni, vedere la descrizione del |
node_type
Necessario
|
[Obbligatorio] I tipi di nodo della macchina virtuale di Azure per il cluster di esecuzione di Databricks, ad esempio "Standard_D3_v2". Specificare |
instance_pool_id
Necessario
|
[Obbligatorio] ID del pool di istanze a cui deve essere collegato il cluster.
Specificare |
num_workers
Necessario
|
[Obbligatorio] Numero statico di ruoli di lavoro per il cluster di esecuzione di Databricks.
È necessario specificare Per altre informazioni, vedere la descrizione del |
min_workers
Necessario
|
[Obbligatorio] Numero minimo di ruoli di lavoro da usare per il ridimensionamento automatico del cluster di esecuzione di Databricks.
È necessario specificare Per altre informazioni, vedere la descrizione del |
max_workers
Necessario
|
[Obbligatorio] Numero massimo di ruoli di lavoro da usare per il ridimensionamento automatico del cluster di esecuzione di Databricks.
È necessario specificare Per altre informazioni, vedere la descrizione del |
spark_env_variables
Necessario
|
Le variabili di ambiente Spark per il cluster di esecuzione di Databricks.
Per altre informazioni, vedere la descrizione del |
spark_conf
Necessario
|
Configurazione spark per il cluster di esecuzione di Databricks.
Per altre informazioni, vedere la descrizione del |
init_scripts
Necessario
|
[str]
Deprecato. Databricks ha annunciato che lo script init archiviato in DBFS smetterà di funzionare dopo il 1° dicembre 2023. Per attenuare il problema, usare script init globali in databricks seguenti https://learn.microsoft.com/azure/databricks/init-scripts/global 2) impostare come commento la riga di init_scripts nel passaggio databricks di AzureML. |
cluster_log_dbfs_path
Necessario
|
Percorsi DBFS in cui devono essere recapitati i log dei cluster. |
notebook_path
Necessario
|
[Obbligatorio] Percorso del notebook nell'istanza di Databricks. Questa classe consente di specificare quattro modi per specificare il codice da eseguire nel cluster Databricks.
Specificare esattamente uno di |
notebook_params
Necessario
|
Dizionario di parametri da passare al notebook.
|
python_script_path
Necessario
|
[Obbligatorio] Percorso dello script Python in DBFS.
Specificare esattamente uno di |
python_script_params
Necessario
|
Parametri per lo script Python. |
main_class_name
Necessario
|
[Obbligatorio] Nome del punto di ingresso in un modulo JAR.
Specificare esattamente uno di |
jar_params
Necessario
|
Parametri per il modulo JAR. |
source_directory
Necessario
|
Cartella contenente lo script e altri file.
Se |
hash_paths
Necessario
|
[str]
DEPRECATO: non più necessario. Elenco di percorsi di hash durante il controllo delle modifiche apportate al contenuto del passaggio. Se non sono state rilevate modifiche, la pipeline riutilizzerà il contenuto del passaggio da un'esecuzione precedente. Per impostazione predefinita, il contenuto di viene sottoposto a hash, ad eccezione dei |
run_name
Necessario
|
Nome in Databricks per questa esecuzione. |
timeout_seconds
Necessario
|
Timeout per l'esecuzione di Databricks. |
runconfig
Necessario
|
Runconfig da usare. Nota: è possibile passare tutte le librerie desiderate come dipendenze al processo usando i parametri seguenti: |
maven_libraries
Necessario
|
list[<xref:azureml.core.runconfig.MavenLibrary>]
Librerie Maven da usare per l'esecuzione di Databricks.
Per altre informazioni sulla specifica delle librerie Maven, vedere |
pypi_libraries
Necessario
|
list[<xref:azureml.core.runconfig.PyPiLibrary>]
Librerie PyPi da usare per l'esecuzione di Databricks.
Per altre informazioni sulla specifica delle librerie PyPi, vedere |
egg_libraries
Necessario
|
list[<xref:azureml.core.runconfig.EggLibrary>]
Librerie Egg da usare per l'esecuzione di Databricks.
Per altre informazioni sulla specifica delle librerie Egg, vedere |
jar_libraries
Necessario
|
list[<xref:azureml.core.runconfig.JarLibrary>]
Librerie JAR da usare per l'esecuzione di Databricks.
Per altre informazioni sulla specifica delle librerie Jar, vedere |
rcran_libraries
Necessario
|
list[<xref:azureml.core.runconfig.RCranLibrary>]
Librerie RCran da usare per l'esecuzione di Databricks.
Per altre informazioni sulla specifica delle librerie RCran, vedere |
compute_target
Necessario
|
[Obbligatorio] Calcolo di Azure Databricks. Prima di poter usare DatabricksStep per eseguire gli script o i notebook in un'area di lavoro di Azure Databricks, è necessario aggiungere l'area di lavoro di Azure Databricks come destinazione di calcolo all'area di lavoro di Azure Machine Learning. |
allow_reuse
Necessario
|
Indica se il passaggio deve riutilizzare i risultati precedenti quando viene eseguito di nuovo con le stesse impostazioni. Il riutilizzo è abilitato per impostazione predefinita. Se il contenuto del passaggio (script/dipendenze) e gli input e i parametri rimangono invariati, l'output dell'esecuzione precedente di questo passaggio viene riutilizzato. Quando si riutilizza il passaggio, anziché inviare il processo al calcolo, i risultati dell'esecuzione precedente vengono immediatamente resi disponibili per tutti i passaggi successivi. Se si usano set di dati di Azure Machine Learning come input, il riutilizzo viene determinato dal fatto che la definizione del set di dati sia stata modificata, non dal fatto che i dati sottostanti siano stati modificati. |
version
Necessario
|
Tag di versione facoltativo per indicare una modifica delle funzionalità per il passaggio. |
permit_cluster_restart
Necessario
|
se viene specificato existing_cluster_id, questo parametro indica se il cluster può essere riavviato per conto dell'utente. |
Metodi
create_node |
Creare un nodo dal passaggio Databricks e aggiungerlo al grafico specificato. Questo metodo non deve essere usato direttamente. Quando viene creata un'istanza di una pipeline con questo passaggio, Azure ML passa automaticamente i parametri necessari tramite questo metodo in modo che tale passaggio possa essere aggiunto a un grafo della pipeline che rappresenta il flusso di lavoro. |
create_node
Creare un nodo dal passaggio Databricks e aggiungerlo al grafico specificato.
Questo metodo non deve essere usato direttamente. Quando viene creata un'istanza di una pipeline con questo passaggio, Azure ML passa automaticamente i parametri necessari tramite questo metodo in modo che tale passaggio possa essere aggiunto a un grafo della pipeline che rappresenta il flusso di lavoro.
create_node(graph, default_datastore, context)
Parametri
Nome | Descrizione |
---|---|
graph
Necessario
|
Oggetto grafico a cui aggiungere il nodo. |
default_datastore
Necessario
|
Archivio dati predefinito. |
context
Necessario
|
<xref:azureml.pipeline.core._GraphContext>
Contesto del grafo. |
Restituisce
Tipo | Descrizione |
---|---|
Nodo creato. |